Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C++ Metod_new.doc
Скачиваний:
3
Добавлен:
10.11.2019
Размер:
939.52 Кб
Скачать

3. Оператори 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, то результат буде:

122333

Без використання 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. Повертаємі значення і прототипи функцій.

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

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

Функція, написана на 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;

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]