Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcii_1_10 / Лекция 07.pptx
Скачиваний:
68
Добавлен:
21.05.2015
Размер:
261.93 Кб
Скачать

/*область 1 - объявление функций до начала main()

место для объявления функций функциям объявленным в этой области не

нужны прототипы

*/

int main()

{

return 0;

}

// место для объявления прототипов функций

int main()

{

return 0;

}

/*область 2 - объявление функций после main()

место для объявления функций

*/

// синтаксис объявления прототипа

/*тип возвращаемых данных функции*/ /*имя

функции*/(/*параметры функции*/);

#include <iostream> using namespace std;

bool palindrom5(int); // прототип функции нахождения палиндрома пятизначных чисел

int main()

{

cout << "Enter 5zn-e chislo: "; int in_number, out_number;

cin >> in_number; out_number = in_number; if (palindrom5(in_number))

cout << "Number " << out_number << " – palendrom”; else

cout<<"This is not palendrom"<<endl; system("pause");

return 0;

}

bool palindrom5(int number)

{

int balance1, balance2, balance4, balance5; balance1 = number % 10;

number = number / 10; balance2 = number % 10; number = number / 100; balance4 = number % 10; number = number / 10; balance5 = number % 10;

if ((balance1 == balance5) && (balance2 == balance4))

return true;

else

return false;

}

Е

// программа-тренажер по выполнению сложения.

#include <iostream>

#include <cstdlib> using namespace std; void drill();

int count; int num_right; int main()

{

cout << "Сколько практических упражнений: ";cin >> count;

num_right = 0;

do {

drill(); count--;

}while(count);

cout << num_right<< " правильных ответов";

return 0;

}

void drill()

{

int count; /* Эта переменная count — локальная и никак не связана с одноименной глобальной.*/

int а, b, ans;

// Генерируем два числа между 0 и 99.

а = rand() % 100;

b = rand() % 100;

// Пользователь получает три попытки дать правильный ответ.

for(count=0; count<3; count++) {

cout << "Сколько будет " << а << " + " << b << "? ";

cin >> ans;

if(ans==a+b) {

cout << "Правильно\n";

num_right++;

return;

}

}

cout << "Вы использовали все свои попытки.\n";

cout << "Ответ равен " << a+b << '\n';

}

■ Глобальные переменные занимают память в течение всего времени выполнения программы, а не только тогда, когда действительно необходимы. ■ Использование глобальной переменной в "роли", с которой легко бы "справилась" локальная переменная, делает такую функцию менее универсальной, поскольку она полагается на необходимость определения данных вне этой функции.

■ Использование большого количества глобальных переменных может привести к появлению ошибок в работе программы,

поскольку при этом возможно проявление

// Передача функции указателя.

#include <iostream> using namespace std; void f (int *j); int main()

{

int i;

int *p;

p = &i; // Указатель p содержит адрес i.

f(p);

cout << i; // Переменная I содержит число 100.

return 0;

}

void f (int *j)

{

*j = 100; // Переменной, адресуемой указателем j,

присваивается число 100.

}

Соседние файлы в папке lekcii_1_10