Ветка case
Ветка case используется внутри конструкции
switch и задает одну из альтернатив
выбора. В качестве параметра после ключевого
слова case указывается константное
выражение, с которым сравнивается значение
переданного в switch выражения. Если
значения совпадают, управление переходит к
коду этой ветки и выполняется до ближайшего
break, return или до конца
блока switch. Одна конструкция
switch может содержать сколько угодно
веток case, а также необязательную
ветку default, которая срабатывает,
если ни одна из веток case не подошла.
Синтаксис
switch (expression)
{
case constant1:
// код ветки 1
break;
case constant2:
// код ветки 2
break;
default:
// код ветки по умолчанию
break;
}
Пример
Давайте выведем название дня недели по его
номеру, используя ветки case:
#include <iostream>
using namespace std;
int main()
{
int day = 3;
switch (day)
{
case 1:
cout << "Monday" << endl;
break;
case 2:
cout << "Tuesday" << endl;
break;
case 3:
cout << "Wednesday" << endl;
break;
default:
cout << "Unknown" << endl;
break;
}
return 0;
}
Результат выполнения кода:
"Wednesday"
Пример
Если в ветке case не поставить
break, то выполнение «провалится» в
следующую ветку. Такой прием полезен, когда
несколько значений должны обрабатываться
одинаково:
#include <iostream>
using namespace std;
int main()
{
int mark = 4;
switch (mark)
{
case 5:
case 4:
cout << "Good" << endl;
break;
case 3:
cout << "Satisfactory" << endl;
break;
default:
cout << "Bad" << endl;
break;
}
return 0;
}
Результат выполнения кода:
"Good"
Пример
Значением ветки case может быть
символьная константа. Давайте определим,
является ли символ гласной буквой:
#include <iostream>
using namespace std;
int main()
{
char letter = 'e';
switch (letter)
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
cout << "Vowel" << endl;
break;
default:
cout << "Consonant" << endl;
break;
}
return 0;
}
Результат выполнения кода:
"Vowel"