ТОП 10:

Блок із 1-го або більш операторів



}

 

while працює доти, поки вираз не буде дорівнює 0. Якщо блок складається з 1-го оператора, фігурні дужки можна не ставити.

Приклад 1. Програма запитує в користувача, чи продовжувати роботу.

 

#include <iostream.h>

 

Void main()

{

char ans;

cout << «Продовжити (Y/N)?»;

cin >> ans;

while((ans!=’Y’)&&(ans!=’y’)&&(ans!=’N’)

&&(ans!=’n’))

{

cout << «\nНе правильно натиснута клавіша\n»;

cout << «Продовжити (Y/N)?»;

cin >> ans;

}

}

 

Приклад 2. Підрахувати число символів у слові.

 

#include <iostream.h>

 

Void main()

{

char name[15];

int count = 0;

cin >> name;

while (name[count] != 0)

count++;

cout << count;

}

Цикл може бути організований за допомогою do … while

Синтаксис:

 

do

{

блок з одного або більш операторів;

}

while ( <вираз> );

 

Цикл має мінімум одну ітерацію. Цикл продовжується доти, поки вираз істинний, тобто не дорівнює 0. Якщо блок складається з одного оператора, фігурні дужки можна не ставити.

Приклад, аналогічний прикладу 1:

 

#include <iostream.h>

 

Void main()

{

char ans;

do

{

cout <<”\n Будете продовжувати введення ( Y/N )?”;

cin >> ans;

}

while ((ans!=’Y’)&&(ans!=’y’)&&(ans! =’N’)

&&(ans! =’n’));

}

 

У С++ передбачена можливість дострокового виходу з програми до її нормального завершення за допомогою функції exit().

Синтаксис:

exit(status) -передається значення операційній системі через оточення errorlevel - може перевірятися в командних файлах.

Для виходу з циклу використовується оператор break; він забезпечує вихід із поточного циклу.

 

Організація циклів із використанням оператора for

Оператор for. Формат:

 

for ([початкове вираз]; [контрольне вираз]; [лічильник])

{

блок з одного або більш операторів;

}

 

Якщо в блоці один оператор – фігурні дужки можна не ставити.

Початкове вираз визначається один раз. Якщо контрольний вираз не дорівнює 0, то він є істинним і виконується блок. Цикл припиняє роботу, якщо контрольний вираз дорівнює 0. Вираз лічильник обчислюється при кожному повторенні циклу.

Приклади:

 

for(i = 10; i ! = 0; i--) або for(i = 10; i; i--)

 

char i;

for(i = ’1’; i <= ’Z’; i++)

 

for(; ;) //- порожньо - вічний цикл

{ cout << “12”; }

 

int i = 1;

for(;i <= 100;)

{

cout << i;

i++;

}

 

int i;

for(i = 1; i <= 10; i++)

cout << i << ’\n’;

Результат:

Вкладені цикли:

for(i = 1; i <= 3; i++)

{

for(j = 1; j <= 3; j++)

{

cout << j << ’\n’;

} //У цьому фрагменті фігурні дужки

} //можна не ставити

 

Результат:

Додатково використовуються оператори:

 

break;

continue;

 

Оператор break завершує цикл достроково.

Приклад:

 

int num;

char i;

cout << “Виведення 20 чисел \n”;

for( num = 1; num <= 20; num++ )

{

cout << num << ’\n’;

cout << “Будете виводити наступне число (Y/N)?”;

cin >> i;

if((i == ’N’) || (i == ’n’)) break;

}

 

Оператор continue повертає управління до початку циклу.

Приклад:

Тільки малі літери при введенні перетворяться в прописні і будуть виводитись на екран.

 

#include <iostream.h>

 

Void main()

{

char m;

int i;

for(i = 1; i <= 5; i++)

{

cin >> m;

if(( m < ’a’) || ( m > ’z’)) continue;

m-= 32;

cout << m << ’\n’;

}

}

Оператори switch і goto

Оператор switch замінює короткий оператор, що розгалужуєтьсяif… else

Синтаксис:

 

Switch ( вираз )

{

case <конст_вираз 1>:

блок операторів С++;

case <конст_вираз 2>:

блок операторів С++;

...

case < конст_вираз n>:

блок операторів С++;

[default:

блок операторів С++;]

}

 

Після обчислення виразу в заголовку оператора, його результат послідовно порівнюється з константами-вираженнями <конст_вираз 1> ... <конст_вираз n> починаючи із самого верхнього, поки не буде встановлена їхня відповідність. Тоді виконуються оператори усередині відповідного case, і після цього управління переходить на такий константний вираз без перевірок. Саме тому наприкінці кожної послідовності операторів повинен бути присутнім оператор break, що забезпечує вихід з оператора switch. Гілка, яка має назву default (по умовчанню) може бути відсутня. Якщо вона є, то послідовність операторів, що знаходиться за словом default, виконується тільки тоді, коли порівняння з жодної зі стоячих вище константних виразів не є істинним.

Приклад:

 

Switch (t)

{

case 1:

cout << “\nСообщение 1”; break;

case 2:

cout << “\nСообщение 2”; break;

...

default:

cout << “\n Зрадливий код”;

}

 

Якщо break не ставиться наприкінці блока операторів, і ми потрапляємо за умовою в блок, то здійснюється «провал донизу».

Приклад:

 

Switch (num)

{

case 1:

cout << "1";

case 2:

cout << "22";

case 3:

cout << "333";

}

 

Якщо num = 1, то результат буде:

 

Без використання break можуть бути оригінальні рішення.

Приклад:

 

Switch (num)

{

case 1:

case 2:

case 3:

cout << “Номер від 1 до 3”;

break;

case 4:

cout << “Номер 4”;

break;

default:

cout << “Помилковий номер”;

}

 

У загальному випадку <виразом> може бути будь-яке вираз, константа або змінна типу int, charабо long int. Константи-вираження - це константи типу int, charабо long int.

Оператор switch зручно використовувати при реалізації меню.

 

Оператор goto – рідко зустрічається, краще цим оператором не користуватися.

Приклад використання:

 

goto tt; // Перехід на мітку tt.

c= 12;

...

tt: ...

 

 

ТЕМА 5: СТВОРЕННЯ ФУНКЦІЙ

ПЛАН

1. Створення функцій.

2. Видимість змінних.

3. Передача значень.

4. Повертаємі значення і прототипи функцій.

 

Створення функцій

Не варто робити один великий модуль програми. У залежності від можливості окремі “шматки” програми необхідно виділити у вигляді окремих функцій.

Функція, написана на C++, звичайно має такі властивості:

– Кожна функція повинна мати ім’я, яке починається з букви або знака підкреслення “_”. Ім’я функції може складатися з цифр, букв і знаків підкреслення.

– За ім’ям кожної функції повинна стояти пара круглих дужок. Це дозволяє відокремлювати функції від змінних.

– Тіло кожної функції, що починається відразу ж після круглих дужок, повинно бути замкнуте у фігурні дужки. Це означає, що тіло кожної функції складає блок з одного або декількох операторів.

Виклик функції схожий на з’їзд з автомагістралі. Головна дорога – функція main(). Підключення функції рівнозначно з’їзду на об’їзну дорогу. Після повернення з функції (оператор return) управління передається основній функції main(), тобто здійснюється повернення на основну автомагістраль.

 

Приклад:

У програмі користувач одержує звіт одного з відділів: бухгалтерського, інженерного або відділу управління.

 

#include <iostream.h>

 

void bux_otd(void)

{

//код створення звіту бухгалтерського відділу

return;

}

 

void ing_otd(void)

{

// код створення звіту інженерного відділу

return;

}

 

void up_otd(void)

{

// код створення звіту відділу управління

return;

}

 

Void main()

{

int choice;

do

{

cout << “Вибір коду відділу \n”;

cout << “\t1. Бух. відділ \n”;

cout << “\t2. Інж. відділ \n”;

cout << “\t3. Відділ управління \n”;

cin >> choice;

}

while ((choice < 1) || (choice > 3));

switch (choice);

{

case 1:

bux_otd(); break;

case 2:

ing_otd(); break;

case 3:

up_otd(); break;

}

}

Видимість змінних







Последнее изменение этой страницы: 2017-02-10; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.228.220.31 (0.014 с.)