Оператор выбора (переключатель).

Формат оператора выбора:

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.

В каждом случае должно выводиться соответствующее решение или сообщение.