Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpPmCdSw 116 of 390 menu
◀ ▶

Конструкция switch-case в C++

Давайте теперь разберем конструкцию switch.

В C++ есть специальная конструкция switch-case, которая используется для выбора одного значения из некоторого ряда значений. В скобках должно стоять целое число или символ char, строка здесь не подходит. Изучите ее синтаксис:

switch (переменная) { case значение1: /* здесь код, который выполнится в случае, если переменная имеет значение1 */ break; case значение2: /* здесь код, который выполнится в случае, если переменная имеет значение2 */ break; case значение3: /* здесь код, который выполнится в случае, если переменная имеет значение3 */ break; default: /* здесь код, который выполнится в случае, если не совпала ни с одним значением */ break; }

Как вы можете заметить, switch-case представляет собой альтернативу множеству else if. Давайте посмотрим на примере. Пусть у нас есть вот такой код:

int num = 1; if (num == 1) { std::cout << "variant 1" << "\n"; } else if (num == 2) { std::cout << "variant 2" << "\n"; } else if (num == 3) { std::cout << "variant 3" << "\n"; } else { std::cout << "variant not supported" << "\n"; }

Перепишем этот код через конструкцию switch-case:

int num = 1; switch (num) { case 1: std::cout << "variant 1" << "\n"; break; case 2: std::cout << "variant 2" << "\n"; break; case 3: std::cout << "variant 3" << "\n"; break; default: std::cout << "variant not supported" << "\n"; break; }

Переменная num может принимать значения 1, 2, 3 или 4. Определите, в какую пору года попадает значение этой переменной.

Перепишите код, используя switch по целому числу:

int num = 1; if (num == 1) { std::cout << "rus" << "\n"; } else if (num == 2) { std::cout << "eng" << "\n"; } else if (num == 3) { std::cout << "deu" << "\n"; } else { std::cout << "language not supported" << "\n"; }

Дано число:

int num = 443;

Для 80 выведите "http", для 443 - "https", для 21 - "ftp", иначе "custom port".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить