В този урок ще научим за оператора за превключване и работата му в програмирането на 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 )
Как работи инструкцията за превключване?
Изчислява expression
се веднъж и се сравнява със стойностите на всеки case
етикет.
- Ако има съвпадение, съответният код след съответстващия етикет се изпълнява. Например, ако стойността на променливата е равна на
constant2
, кодът следcase constant2:
се изпълнява, докатоbreak
се срещне оператора. - Ако няма съвпадение, кодът след
default:
се изпълнява.
Забележка : Можем да направим същото със if… else… if
стълбата. Синтаксисът на switch
изявлението обаче е по-чист и много по-лесен за четене и писане.
Блок-схема на декларацията за превключване
Блок-схема на C ++ превключвател … изявление за случайПример: Създайте калкулатор, като използвате изявлението за превключване
// Program to build a simple calculator using switch Statement #include using namespace std; int main() ( char oper; float num1, num2; cout <> oper; cout << "Enter two numbers: " <> 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
Въведете оператор (+, -, *, /): + Въведете две числа: 2.3 4.5 2.3 + 4.5 = 6.8
Изход 2
Въведете оператор (+, -, *, /): - Въведете две числа: 2.3 4.5 2.3 - 4.5 = -2.2
Изход 3
Въведете оператор (+, -, *, /): * Въведете две числа: 2,3 4,5 2,3 * 4,5 = 10,35
Изход 4
Въведете оператор (+, -, *, /): / Въведете две числа: 2,3 4,5 2,3 / 4,5 = 0,511111
Изход 5
Въведете оператор (+, -, *, /):? Въведете две числа: 2.3 4.5 Грешка! Операторът не е правилен.
В горната програма използваме switch… case
израза за извършване на събиране, изваждане, умножение и деление.
Как работи тази програма
- Първо подканваме потребителя да въведе желания оператор. След това този вход се съхранява в
char
променливата, наречена oper. - След това подканваме потребителя да въведе две числа, които се съхраняват в променливите с плувка num1 и num2.
- След това
switch
изявлението се използва за проверка на въведения от потребителя оператор:- Ако потребителят въведе
+
, добавянето се извършва върху числата. - Ако потребителят въведе
-
, се изважда числата. - Ако потребителят въведе
*
, се извършва умножение на числата. - Ако потребителят влезе
/
, разделянето се извършва върху числата. - Ако потребителят въведе друг знак, кодът по подразбиране се отпечатва.
- Ако потребителят въведе
Забележете, че break
изразът се използва във всеки case
блок. Това прекратява switch
изявлението.
Ако break
изразът не се използва, всички случаи след правилното case
се изпълняват.