В этой статье Вы узнаете, что такое функции, прототипы функций; научитесь создавать и использовать свои функции.
Понятие функции
Реальные программы состоят из тысяч, десятков тысяч и, даже миллионов строк кода. Чтобы легче было управлять этим кодом используют функции. Функции это модули в С/С++. Обычно программы пишутся объединяя множество таких модулей (функций), которые могут быть описаны в разных заголовочных файлах. Так, например, в лабораторной работе № 2 вы уже использовали математические функции. Для их использования нужно было подключить заголовочный файл math.h, так как все математические функции описаны в этом файле. Математические функции были разработаны программистами Microsoft, кроме математических функций также есть функции для работы со строками, с вводом и выводом и многим другим.
Для более быстрого понимания функций
Однако можно использовать и пользовательские функции, то есть можно создавать свои собственные. Для создания функций сначала нужно объявить прототип функции, а затем написать её реализацию, как показано в следующем листинге.
Сначала объявляется функция (прототип функции), в которой указывается, какой тип данных она возвращает, и какого типа данных будут параметры этой функции. При объявлении функции в конце должна быть точка с запятой.
Реализация функции описана после главной функции программы. При реализации нужно указать тип возвращаемого значения функции, а также параметры функции и их типы данных.
После этого в фигурных скобках описывается сама реализация этой функции. Если функция имеет тип данных не void, то в теле функции обязательно должен присутствовать оператор return, который возвращает результат соответствующего типа данных.
#include <iostream> #include <math.h> using namespace std; int my_pow(int, int); //прототип функции my_pow void main() { float x; float y; float Res = 0; float My_Res = 0; cout << "Enter x = "; cin >> x; cout << "Enter y = "; cin >> y; Res = pow(x, y); cout << "Res = " << Res << endl; My_Res = my_pow(x, y); //Вызов функции my_pow cout << "My_Res = " << My_Res << endl; } int my_pow(float x, float y)//Реализация функции my_pow { int r = 1; //Тело функции my_pow for(int i = 0; i < y; i++) r = r * x; return r; }
Получайте новые статьи блога прямо себе на почту
Отличный сайт! Как мне его не хватало в студенческие годы)))
Удачи Вам!