Четверг, 09.01.2025, 10:31
Главная Регистрация RSS поиск
Приветствую Вас, Гость
Меню сайта
Категории раздела
HTML [44]
Visual C++ и MFC [21]
c++ [78]
php [19]
Javascript [15]
C# [51]
загрузки [0]
XNA [10]
создание игр с помощью xna
Наш опрос
Каким языком программирования вы увлекаетесь
Всего ответов: 2420
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Реклама
Главная » Статьи » c++

return

Существует несколько способов возврата управления к точке, из которой была вызвана функция:

      - Если функция не должна возвращать результат, управление возвращается либо просто при достижении правой фигурной скобки, завершающей функцию, либо
      - при выполнении оператора return.
      - Если функция должна возвращать результат, то оператор return выражение;

      возвращает значение выражение в обращение к функции.

Таким образом, оператор возврата имеет две формы:

return;

В этом случае, когда выполняется оператор возврата, управление программой немедленно передается обратно в вызвавшую среду. Используется когда функция не возвращает значение.

return выражение;

В этом случае, в вызвавшую среду возвращается также значение выражения, которое следует за ключевым словом return. Это значение должно быть конвертируемым к возвращаемому типу из заголовка определения функции.

Например:

return; не возвращает значения;
return 3; возвращаемое значение = 3;
return (a + b); возвращаемое значение = значению выражения (а + b);

скобки необязательны, используются для улучшения читаемости кода.

В качестве иллюстрации небольшой пример программы.

/* Программа для введеных с клавиатуры трех чисел предлагает 
выполнить след. действия:
проверить на четность, вычислить сумму,
вычислить сред. арифметическое нечетных чисел */


#include < iostream.h >


 // прототипы функции 
 bool IsEven(int ); /* функция проверяет число на четность*/

 int abcMultiple (int, int, int); /* функция вычисляет сумму трех чисел */
 float ArithMean(int, int, int); /* функция вычисляет среднее 
 арифметическое нечетных чисел*/
 // описания функций
 void OutputMenu() /* функция выводит на экран меню программы*/
 {
 cout << "1. Ввод чисел \n"
 "2. Проверка чисел на четность \n"
 "3. Вычислить произведение \n"
 "4. Вычислить среднее арифметическое нечетных чисел \n";
 cout << "\n \n Выберите пункт меню \n";
 return;
 }
 
 int InputNumber() /* функция ввода числа в заданном диапазоне */
 {
 int number = 0;
 do 
 {
 cout << "\n Введите целое число в диапозоне от 0 до 500: ";
 cin >> number;
 } while( number < 0 || number > 500);
 return number;
 }
 
 void main()
 {
 int a = 0, b = 0, c = 0, /* объявление и инициализация переменных 
 целого типа для хранения чисел, введенных пользователем с клавиатуры*/ 
 menuVal = 0; /* объявление и инициализация переменной целого 
 типа для хранения значения выбранного пункта меню */
 
 do 
 {
 OutputMenu(); /*вызов функции OutputMenu*/
 cin >> menuVal;
 switch (menuVal)
 {
 case 1: /* Метка соответствует задаче первого пункта меню */
 a = InputNumber();
 cout << " \n a = " << a;
 b = InputNumber();
 cout << " \n b = " << b;
 c = InputNumber();
 cout << " \n c = " << c;
 break;
 case 2: /* Метка соответствует задаче второго пункта меню */
 if ( IsEven(a) ) cout << "\n а = " << a << " - четное";
 if ( IsEven(b) ) cout << "\n b = " << b << " - четное";
 if ( IsEven(c) ) cout << "\n c = " << c << " - четное";
 break;
 case 3: /* Метка соответствует задаче третьего пункта меню */
 cout << "\n Произведение a*b*c = " 
 << abcMultiple(a, b, c);
 break;
 case 4: /* Метка соответствует 
 задаче четвертого пункта меню */
 cout << "\n Среднее арифметическое нечетных чисел = " 
 << ArithMean(a, b, c);
 break;
 default: /* В случае, 
 если пользователь ввел значение вне диапозона 1-4 */
 cout << "\n Будьте внимательней."
 " Имеется всего 4 пункта меню :)";
 }
 cout << "\n\n Дальше? "
 "\n 0 - Нет, 1 - Да ";
 cin >> menuVal; 
 }while(menuVal);
 return;
 }
 
  
 // описания функций, прототипы функций объявлены выше 
 
 bool IsEven(int val)
 {
 bool valIsEven = val%2 ? false : true;
 return valIsEven;
 }
 
 int abcMultiple (int a, int b, int c)
 {
 return a*b*c;
 }
 
 float ArithMean(int val1, int val2, int val3)
 {
 int Sum = 0, count = 0; /* объявляем вспомогательные переменные 
 для вычисления среднего арифметического Sum/count */
 if ( !IsEven(val1) )
 { 
 count ++;
 Sum += val1;
 }
 if ( !IsEven(val2) )
 {
 count ++;
 Sum += val2;
 }
 if ( !IsEven(val3) )
 {
 count ++;
 Sum += val3;
 }
 if ( count ) return float(Sum)/count; 
 else return 0;
 }

Категория: c++ | Добавил: slava (30.05.2011)
Просмотров: 3562 | Рейтинг: 3.5/2
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]