Оператор выбора (переключатель).
Формат оператора выбора:
switch (целочисленное выражение)
{ case константа1: список_операторов;
case константа2: список_операторов;
default: список операторов;}
Последняя строка (default) может отсутствовать.
Выполнение оператора происходит в следующем порядке:
1. Вычисляется целочисленное выражение.
2. Полученное значение последовательно сравнивается с константами, помещенными после служебных слов case; при первом совпадении значений выполняются операторы, стоящие после двоеточия.
3. Если ни с одной из констант совпадения не произошло, то выполнятся операторы после слова default.
Пример: фрагмент программы, который переводит числовую оценку знаний ученика в ее словесный эквивалент. Согласно вузовской системе: 5 — «отлично», 4 — «хорошо», 3 — «удовлетворительно», 2 — «неудовлетворительно».
Пример:
Вот два варианта результатов выполнения этой программы:
Введите оценку: 3 Это удовлетворительно!
Введите оценку: 7 Нет такой оценки!
Если на всех ветвях убрать оператор break, то получим:
Введите оценку: 3 Это удовлетворительно!
Это хорошо!
Это отлично!
Нет такой оценки!
В этом случае выполнились операторы на всех ветвях, начиная с той, которая помечена константой 3.
В следующем фрагменте программы происходит возведение вещественного числа х в целую степень п, где п изменяется в диапазоне от 1 до 5.
Упражнения
1. Составить программу упорядочения по возрастанию значений в трех переменных a, b, c.
2. Составить программу, которая выводит на экран меню:
1. Первое
2. Второе
3. Третье
и в зависимости от выбранного пункта выдает одну из надписей: «Получите суп», «Получите картошку», «Получите компот», «Оставайтесь голодным». Написать два варианта программы: с использованием условного оператора if и с использованием переключателя.
3. Составить программу решения квадратного уравнения ах2 + bx + с = 0, учитывающую все возможные варианты исходных данных:
1) а = 0, b = 0, с = 0;
2) a = 0, b = 0, с ≠ 0;
3) а = 0, b ≠ 0;
4) а ≠ 0, D ≥ 0 (D — дискриминант);
5) а ≠ 0, D < 0.
В каждом случае должно выводиться соответствующее решение или сообщение.