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

обложка статьи

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

Что такое switch

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

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

switch (переменная) {
  
}

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

switch (x) {
case < проверяемое значение >:
  cout << "";  // ваш 
  var a = 5;   // блок кода
  break;       
}

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

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

case 5:{
  // что то выполняется
  break;
}

Что такое default

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

int x = 9;

switch (x) { 
  case 5:
    cout << "Значение равно 5"; 
    break; 
  case 6: 
    cout << "Значение равно 6";
    break; 
  case 0:  
    cout << "Значение равно zero"; 
    break; 
  default: 
    cout << "Значение не равно 5, 6 и даже 0";
}
Значение не равно 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 - деление

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

  int str;

  int first, second;

  cout << "Введите первое число: "; cin >> first;
  cout << "Введите второе число: "; cin >> second;

  cout << "Укажите какую операцию использовать: "cin >> str;

  switch (str) {
    case 5:
      cout << "Сумма: " << first + second;
      break;
    case 8:
      cout << "Вычитание: " << first - second;
      break;
    case 9:
      cout << "Умножение: " << first * second;
      break;
    case 7:
      cout << "Деление: " << first / second;
      break;
    default:
      cout << "Что-то пошло не так. Повторите попытку";
  }
  • В строках 10, 13, 16, 19: применяется проверка значений str.
  • В строке 22: если пользователь ошибся с числом, то программа его оповестит с помощью оператора default.

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

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

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

Обсуждение