Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание программ на С++.doc
Скачиваний:
15
Добавлен:
29.09.2019
Размер:
1.59 Mб
Скачать

Программа может передавать информацию в функции

Для увеличения потенциальных возможностей ваших функций C++ позволяет программам передавать информацию (параметры) в функции. Если функция использует параметры, вы должны сообщить C++ тип каждого параметра, например int, float, char и т.д. Следующая функцияshow_number использует параметр типа int.

void show_number (int value)

{     cout << "Значение параметра равно " << value << endl;  }

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

show_number ( 1001 //----------------> Значение, передаваемое в функцию

C++ будет подставлять переданное число вместо каждого имени параметра value внутри функции:

show_number (1001)

void show_number (int value )

{     cout << "Значение параметра равно " << value << endl;  }

void show_number (1001)

{     cout << "Значение параметра равно " << 1001 << endl;  }

Как видите, поскольку C++ замещает значение параметра, функцияshow_number выводит число 1001, переданное ей главной программой.

Следующая программа USEPARAM.CPP использует функцию show_numberнесколько раз, каждый раз передавая разные числа:

#include <iostream.h>

void show_number (int value)

{     cout << "Значение параметра равно " << value << endl;  }

void main (void)

{     show_number (1);     show_number (1001);     show_number (-532);  }

Если вы откомпилируете и запустите эту программу, на вашем экране будет отображено следующее:

С: \>USEPARAM <ENTER>

Значение параметра равно 1

Значение параметра равно 1001

Значение параметра равно -532

Как видите, каждый раз, когда программа вызывает функцию, C++ присваивает передаваемое число переменной value. Найдите время для эксперимента с этой программой, изменяя значения, которые mainпередает в функцию, и обращая внимание на результат.

Каждый параметр функции имеет определенный тип. В случае функцииshow_number параметр value должен быть типа int. Если вы попытаетесь передать в функцию значение другого типа, например с плавающей точкой, компилятор будет сообщать об ошибке. В большинстве случаев ваши программы будут передавать несколько значений в функцию. Для каждого передаваемого параметра функция должна указать имя и тип. Например, следующая программа BIGSMALL.CPP использует функциюshow_big_and_little для вывода самого большого и самого маленького из трех полученных целочисленных значений:

#include <iostream.h>

void show_big_and_little (int a, int b, int c)

{     int small = a;     int big = a;

   if (b > big)        big = b;

   if (b < small)        small = b;

   if (c > big)        big = c;

   if (c < small)        small = c;

   cout << "Самое большое значение равно " << big << endl;     cout << "Самое маленькое значение равно " << small << endl;  }

void main (void)

{     show_big_and_little (1, 2, 3);     show_big_and_little (500, 0, -500);     show_big_and_little (1001, 1001, 1001);  }

Если вы откомпилируете и запустите эту программу, на вашем экране появится следующий вывод:

С: \> BIGSMALL <ENTER>

Самое большое значение равно 3

Самое маленькое значение равно 1

Самое большое значение равно 500

Самое маленькое значение равно -500

Самое большое значение равно 1001

Самое маленькое значение равно 1001

Наконец, следующая программа SHOW_EMP.CPP использует функциюshow_employee для вывода возраста (тип int) и оклада (тип float)служащего:

#Include <iostream.h>

void show_employee (int age, float salary)

{     cout << "Возраст служащего " << age << " года (лет)" << endl;     cout << "Служащий получает $" << salary << endl;  }

void main (void)

{     show_employee (32, 25000.00);  }

Как видите, функция show_employee определяет параметры типа int и float

Передача параметров в функцию

Если ваша функция использует параметры, она должна указать уникальное имя и тип для каждого параметра. Когда программа вызывает функцию, C++ присваивает значения параметров именам параметров функции слева направо. Каждый параметр функции имеет определенный тип, например int, float или char. Значения, которые ваша программа передает в функцию, используя параметры, должны соответствовать типу параметров.