Как вы могли видеть из примера выше, оператор case умеет проверять объекты только на равенство (==). Кроме того, если значение не попало в контролируемый вами диапазон, то в этом случае тоже можно произвести какие — нибудь действия, например вывести сообщение об ошибке.
Таким образом оператор switch — case имеет следующую сигнатуру:
1
2
3
4
5
6
7
8
9
|
switch (переменная)
{
case значение1:
операторы1;
case значение2:
операторы2;
default:
операторы 3;
}
|
Где переменная, это имя переменной значения которой мы хотим проверить, значение — это значение, на которое мы хотим проверить, а операторы это последовательность операторов, которую необходимо выполнить в этом случае.
Оператор break используется для того, чтобы после того, как условие выполнилось, не выполнились остальные операторы, например:
1
2
3
4
5
6
7
8
9
10
11
12
|
int a = 1;
switch (a)
{
case 0:
cout << 0;//не выполнится
case 1:
cout << 1;//выполнится
case 2:
cout << 2;//выполнится, потому что до него уже выполнилось условие
case 3:
cout << 3;//выполнится, потому что до него уже выполнилось условие
}
|
Выведет: 123
Если вас не устраивает такое поведения, то просто добавьте break; в конец каждого case.
|