Блог программиста

Изучаем и разрабатываем что-то новое, делимся опытом.

Функции в C++. Урок 7

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

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

Например, код расчёта факториала занимает несколько строчек:

int n, fact;
сin >> n;
if (n < 0) fact = 0;
else if (n == 0) fact = 1;
else {
	fact = 1;
	for (int i = 1; i <= n; i++) {
		fact = fact * n;
	}
}
cout << fact << endl;

Теперь в основной программе, возможно, в нескольких местах используется расчёт факториала. Не копировать же каждый раз эти несколько строчек! Для этого напишем функцию расчёта факториала:

int factorial(int n) {
	int result;
	if (n < 0) result = 0;
	else if (n == 0) result = 1;
	else {
		result = 1;
		for (int i = 1; i <= n; i++) {
			result = result * n;
		}
	}
	return result;
}

Программа расчёта факториала будет выглядеть так:

int n;
gin >> n; 
int fact = factorial(n); // Вызов функции
cout << fact << endl;

Формат объявления функции:

тип имя_функции(параметры) {
	// Тело функции
}

В круглых скобках для функции можно передавать параметры. Если параметров несколько, они разделяются запятой. Если параметры отсутствуют, необходимо указать пустые скобки ().

Функция может возвращать одно значение, для этого необходимо обязательно указать его тип, а в теле фукнции разместить команду return значение;. Если хотите, чтобы функция ничего не возвращала, укажите ей тип возвращаемого значения как void.


Отправить комментарий
Наши проекты
Cj - язык программирования (C++ & Javascript)
Новый язык программирования, для разработки веб, мобайл, десктоп-приложений, игр... подробнее...
Контакты
vk.com/sitev_ru
Skype: sitev.ru
E-mail: mike@sitev.ru
github.com/sitev

Рейтинг@Mail.ru

Besucherzahler
счетчик посещений