Оператор C++ switch..case
Выражение C++ switch..case
В этом руководстве мы узнаем об операторе switch и его работе в программировании на C++ с помощью нескольких примеров.
switch
оператор позволяет нам выполнить блок кода среди многих альтернатив.
Синтаксис switch
оператор в C++:
switch (expression) {
case constant1:
// code to be executed if
// expression is equal to constant1;
break;
case constant2:
// code to be executed if
// expression is equal to constant2;
break;
.
.
.
default:
// code to be executed if
// expression doesn't match any constant
}
Как работает оператор switch?
expression
оценивается один раз и сравнивается со значениями каждого case
ярлык.
- Если есть совпадение, выполняется соответствующий код после соответствующей метки. Например, если значение переменной равно
constant2
, код послеcase constant2:
выполняется до тех пор, пока не встретится оператор break. - Если совпадения нет, код после
default:
выполняется.
Примечание :мы можем сделать то же самое с if...else..if
лестница. Однако синтаксис switch
Оператор стал чище и его намного легче читать и писать.
Блок-схема оператора switch
<рисунок>
Пример:создание калькулятора с помощью оператора switch
// Program to build a simple calculator using switch Statement
#include <iostream>
using namespace std;
int main() {
char oper;
float num1, num2;
cout << "Enter an operator (+, -, *, /): ";
cin >> oper;
cout << "Enter two numbers: " << endl;
cin >> num1 >> num2;
switch (oper) {
case '+':
cout << num1 << " + " << num2 << " = " << num1 + num2;
break;
case '-':
cout << num1 << " - " << num2 << " = " << num1 - num2;
break;
case '*':
cout << num1 << " * " << num2 << " = " << num1 * num2;
break;
case '/':
cout << num1 << " / " << num2 << " = " << num1 / num2;
break;
default:
// operator is doesn't match any case constant (+, -, *, /)
cout << "Error! The operator is not correct";
break;
}
return 0;
}
Выход 1
Enter an operator (+, -, *, /): + Enter two numbers: 2.3 4.5 2.3 + 4.5 = 6.8
Вывод 2
Enter an operator (+, -, *, /): - Enter two numbers: 2.3 4.5 2.3 - 4.5 = -2.2
Выход 3
Enter an operator (+, -, *, /): * Enter two numbers: 2.3 4.5 2.3 * 4.5 = 10.35
Вывод 4
Enter an operator (+, -, *, /): / Enter two numbers: 2.3 4.5 2.3 / 4.5 = 0.511111
Вывод 5
Enter an operator (+, -, *, /): ? Enter two numbers: 2.3 4.5 Error! The operator is not correct.
В приведенной выше программе мы используем switch...case
Оператор для выполнения сложения, вычитания, умножения и деления.
Как работает эта программа
- Сначала мы предлагаем пользователю ввести нужный оператор. Этот ввод затем сохраняется в
char
переменная с именем oper . - Затем мы предлагаем пользователю ввести два числа, которые хранятся в переменных с плавающей запятой num1. и число2 .
switch
Затем оператор используется для проверки оператора, введенного пользователем:- Если пользователь вводит
+
, сложение выполняется над числами. - Если пользователь вводит
-
, над числами выполняется вычитание. - Если пользователь вводит
*
, над числами выполняется умножение. - Если пользователь вводит
/
, деление производится на числа. - Если пользователь вводит любой другой символ, печатается код по умолчанию.
- Если пользователь вводит
Обратите внимание, что break
оператор используется внутри каждого case
блокировать. Это завершает switch
заявление.
Если break
оператор не используется, все случаи после правильного case
выполняются.
Язык C