Float average_value(int, int); // Прототип функции


int main()

{

cout << "Value=" << average_value(2000, 1) << endl;

cin.get();

}

float average_value (int a, int b)

{

return((a + b) / 2.0);

}

highlightSyntax('cpp_26600','cpp'); Программа вызывает функцию average_value до того, как функция определена. Таким образом, программа использует прототип функции, который предваряет определение main. Если удалить прототип функции и откомпилировать программу, компилятор C++ сообщит о синтаксических ошибках.
highlightSyntax('cpp_12648','cpp');
6.2.3. Вызов функции.
Программы выполняют операторы функций посредством вызова функции. Для вызова функции программы обращаются к имени функции, за которым следуют круглые скобки:
function_name();
Если программа передает параметры в функцию, она размещает эту информацию внутри круглых скобок, разделяя ее запятыми:
paroll(employee_name, employee_id);
После того как последний оператор функции завершен, выполнение программы продолжается с первого оператора следующего за вызовом функции.
Для увеличения потенциальных возможностей функций C++ позволяет программам передавать параметры в функции. Если функция использует параметры, необходимо сообщить тип каждого параметра.

highlightSyntax('cpp_63689','cpp'); Если ваша программа вызывает функцию show_number, она должна передать ей значение. (Primer 3 лекция 6).

#include <iostream>

using namespace std;

void show_number (int value)

{

cout << "Value=" << value << endl;

}

int main ()

{

show_number (1);

show_number (1001);

show_number (-532);

cin.get();

}

highlightSyntax('cpp_13555','cpp'); Cледующая программа использует функцию show_employee для вывода возраста (тип int) и оклада (тип float). (Primer 4 лекция 6).

#include <iostream>

using namespace std;

void show_employee (int age, float salary)

{

cout << "Age=" << age << " year" << endl;

cout << "Salary=" << salary << endl;

cin.get();

}

int main ()

{

show_employee (32, 25000.00);

} highlightSyntax('cpp_15413','cpp');
Когда функция возвращает значение, необходимо сообщить тип значения,

( int, float, char). Чтобы определить тип возвращаемого функцией значения, поставьте перед именем функции соответствующий тип.

highlightSyntax('cpp_14753','cpp'); Когда функция встречает оператор return, она возвращает заданное значение и завершает выполнение функции, возвращая управление вызвавшей программе.

int add_values (int a, int b)

{

return (a+ b);

}

highlightSyntax('cpp_97209','cpp'); Не все функции возвращают значение типа int.

float average_value(int a, int b)

{

return( (a + b) / 2.0);

}

highlightSyntax('cpp_74798','cpp'); float, которое предшествует имени функции, указывает тип возвращаемого функцией значения. Операторы в функции после оператора return не выполняются.

Когда функция возвращает значение, вызвавшая программа может присвоить возвращенное значение переменной, используя оператор присваивания:

payroll_amount = payroll (employee, hours, salary);

highlightSyntax('cpp_53037','cpp'); Вызвавшая программа может обращаться к функции, используя cout.

cout << " Salary=" << payroll(employee, hours, salary) < < endl;

highlightSyntax('cpp_43492','cpp'); Вызвавшая функция может использовать возвращаемое значение в условии:

if (payroll(employee, hours, salary) < 500.00)

cout << "Salary low" << endl;