У овом упутству ћемо научити о наредби свитцх и њеном раду у програмирању на Ц ++ уз помоћ неколико примера.
switch
Изјава нам омогућава да изврши блок кода међу многим алтернативама.
Синтакса switch
израза на језику Ц ++ је:
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
изјаве је чишћа и много је лакша за читање и писање.
Дијаграм тока Изјаве прекидача

Пример: Направите калкулатор помоћу Извода прекидача
// 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
променљивој названој опер. - Затим тражимо од корисника да унесе два броја која се чувају у флоат променљивим нум1 и нум2.
switch
Саопштењу се затим користи за проверу оператора које је унео корисник:- Ако корисник уђе
+
, врши се сабирање бројева. - Ако корисник уђе
-
, на бројевима се врши одузимање. - Ако корисник уђе
*
, множење се врши на бројевима. - Ако корисник уђе
/
, врши се дељење бројева. - Ако корисник унесе било који други знак, одштампаће се подразумевани код.
- Ако корисник уђе
Приметите да се break
изјава користи унутар сваког case
блока. Овим се switch
изјава прекида .
Ако се break
изјава не користи, case
извршавају се сви случајеви након тачне .