Конструкция switch case в C++: что это и как с ней работать

Всем привет! В C++ благодаря условным операторам if и else можем выбирать по какому пути идти. Но если нам понадобится проверить несколько выражений, использовать оператор if будет не разумно из-за того что в C++ есть — switch.

Что такое switch

Это множественный условный оператор. Он работает также как несколько условий if, но может проверять лишь одну переменную в своих условиях. Если одно условие является правильным происходит выход.

Для его использования не нужно подключать какие-то дополнительные библиотеки, кроме стандартной <iostream>.

Для проверки условия нужно использовать конструкцию case:

После слова case используются : (двоеточие), а в самом ее конце должен присутствовать оператор break.

Чтобы проще ориентироваться в коде можно применять скобки.

Что такое default

Он работает лишь когда все case являются не верными. В конструкции использовать не обязательно.

default.cpp
Значение не равно 5, 6 и даже zero
Process returned 0 (0x0) execution time : 0.010 s
Press any key to continue.

Если ни одно case и default не правильны, то программа выйдет из switch и продолжит работать дальше.

Пример использования switch

Давайте сделаем программу с использованием switch. Смысл программы будет заключаеться в нахождении суммы, разности, умножения, деления двух чисел, которые, как и операции будет выбирать пользователь.

  • 5 — сумма
  • 8 — разность
  • 9 — умножение
  • 7 — деление

число равно размеру слова

  • В строках 10, 13, 16, 19: применяется проверка значений str.
  • В строке 22: если пользователь ошибся с числом, то программа его оповестит с помощью оператора default.

Вот пример успешного выполнения программы:

switch.cpp
Введите первое число: 5
Введите первое число: 7
Укажите какую операцию использовать: 9
Умножение: 35
Process returned 0 (0x0) execution time : 0.010 s
Press any key to continue.

Вот и все! Надеемся этот урок был для вас полезен. Удачи!


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *