ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 3) онлайн
Оператор switch
Если в вашей программе присутствует большое дерево ветвлений и все ветвле- ния зависят от значения какой-либо одной переменной, то можно вместо ступен-
чатой последовательности конструкций if...else или else...if воспользоваться опе- ратором switch. Рассмотрим простой пример под названием PLATTERS:
// platters.cpp
// применение ветвления switch
#include <iostream>
using namespace std;
int main()
{
int speed; // скорость вращения грампластинки
cout << "\nВведите число 33,45 или 78: ";
cin >> speed; // ввод скорости пользователем
switch(speed) // действия, зависящие от выбора скорости
{
case 33: // если пользователь ввел 33
cout << "Долгоиграющий формат\n";
break;
case 45: // если пользователь ввел 45
cout << "Формат сингла\n";
break;
case 78: // если пользователь ввел 78
cout << "Устаревший формат\n";
break;
}
return 0;
}
Эта программа печатает одно из трех сообщений в зависимости от того, какое из чисел — 33, 45 или 78 — введет пользователь. Как наверняка знают люди стар- шего поколения, долгоиграющие пластинки (LP), содержащие большое количе- ство песен, имели скорость проигрывания, равную 33 оборотам в минуту; пла- стинки меньшего размера, рассчитанные на 45 оборотов в минуту, содержали по одной песне на каждой стороне; наконец, пластинки со скоростью 78 оборотов в минуту являлись предшественницами пластинок двух предыдущих форматов.
За ключевым словом switch следуют круглые скобки, содержащие имя пере- менной, от значений которой зависит дальнейшее выполнение программы:
switch(speed)
Скобки ограничивают набор операторов case. Каждый раз за ключевым сло- вом case следует константа, после значения которой стоит двоеточие:
case 33:
Тип констант, употребляемых в операторах case, должен совпадать с типом переменной, стоящей в скобках оператора switch. На рис. 3.12 показан синтаксис оператора switch.
Перед входом в тело switch программа должна инициализировать каким-либо значением переменную, стоящую внутри оператора switch, поскольку это значение будет сравниваться с константами, стоящими в теле ветвления switch. Если какое- либо из сравнений даст истинный результат, то операторы, стоящие за соответст- вующим сравнением, будут исполняться до тех пор, пока не встретится слово break.
Вот пример работы программы PLATTERS:
Введите 33, 45 или 78: Формат сингла 45
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
Схожі підручники
- ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 6) онлайн
- Соціальна психологія (частина 1)
- Прежде чем начать СВОЙ БИЗНЕС (онлайн)
- ТЕМА 10. СУТНІСТЬ І ФУНКЦІЇ КРЕДИТУ
- Соціальне страхування. Навчальний посібник (частина 1)
- ПСИХОЛОГО-ПЕДАГОГІЧНІ ОСНОВИ МІЖОСОБИСТІСНОГО СПІЛКУВАННЯ НАВЧАЛЬНИЙ ПОСІБНИК (онлайн)
