Перейти к основному содержимому
Модуль 2 · Урок 3 из 36/18 в курсе~8 min
Уроки модуля (3/3)

Оператор переключения

Оператор switch позволяет заменять длинные цепочки операторов if-else if-else при сравнении переменной с несколькими постоянными значениями.

Синтаксис switch

Оператор switch сравнивает выражение с несколькими метками case:

C++
char grade = 'B';

switch (grade) {
    case 'A':
        std::cout << "Excellent!" << std::endl;
        break;
    case 'B':
        std::cout << "Very well!" << std::endl;
        break;
    case 'C':
        std::cout << "Sufficient." << std::endl;
        break;
    default:
        std::cout << "Invalid grade." << std::endl;
        break;
}
  • break: является фундаментальным. Если этот параметр опущен, выполнение перейдет к следующим случаям (поведение, известное как fall-through).
  • default: необязательный блок, выполняемый, если ни один из предыдущих случаев не соответствует проверяемому значению.

Попробуйте сами

Упражнение#cpp.m2.l3.e1
Попыток: 0Загрузка…

Учитывая целочисленный день, считанный из std::cin, используйте переключатель, чтобы напечатать «lunedi», если день равен 1, «martedi», если он равен 2, и «altro» для любого другого значения.

Загрузка редактора…
Показать подсказку

Структурируйте переключатель на «день», вставив «case 1:», «case 2:» и «default:», помня оператор «break» в конце каждой ветки.

Решение доступно после 3 попыток

Упражнение#cpp.m2.l3.e2
Попыток: 0Загрузка…

Учитывая переменную оценку, считанную из std::cin, используйте переключатель для вывода «ottimo» для «A», «buono» для «B» и «insufficiente» для всех остальных случаев.

Загрузка редактора…
Показать подсказку

Для символов используйте одинарные кавычки, например. `случай 'A':`.

Решение доступно после 3 попыток