Чтобы легче было понимать и корректировать текст программ можно ее фрагменты выделять в отдельные подпрограммы.

Так же поступают и с повторяющимися фрагментами, содержащими ощутимое количество строк текста программы.

Такие фрагменты записывают ниже функции main() после ее последней фигурной скобки.

Им дают название, оснащают входящими аргументами и возвращаемым значением.

Пример.

Вывести в окно сообщений текст, в зависимости от кода, передаваемого в подпрограмму.


int main()

{

   cout << "Строка из функции с арг. 1= " << get_string(1) << ", то же но с арг. 2 = " << get_string(2);

}

// объявление функции, принимает аргумент arg - целое число.

// возвращает строковое значение.

string get_string(int arg)

{

   string sresult;

   if (arg == 1)   // если arg равно 1

   {

      sresult = "строка 1";  // то присвоить переменной sresult это значение.

   }

   else if (arg == 2) // если же arg равно 2

   {

      sresult = "строка 2";

   }

   else  // если же ни 1 ни 2, то при любом другом значении

   {

      sresult = "строка N";  // присвоить переменной sresult это значение.

   }

   return sresult;  // вернуть в качестве значения функции содержимое переменной sresult.

}


В подпрограмму могут передаваться сразу несколько переменных (аргументов). Тогда они пишутся через запятую.

Пример.

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


double my_func(int a, int b, double c)

{

   return 10;

}


Благодаря тому, что текст С++ имеет высокую скорость выполнения, можно создавать любое количество собственных функций.