V tomto tutoriále sa pomocou niekoľkých príkladov dozvieme o príkaze switch a jeho práci v programovaní v C ++.
switchVyhlásenie nám umožňuje vykonávať blok kódu medzi mnoho alternatív.
Syntax switchpríkazu v C ++ je:
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 )
Ako funguje príkaz na prepnutie?
Hodnota expressionsa vyhodnotí raz a porovná sa s hodnotami každého caseštítku.
- Ak existuje zhoda, vykoná sa zodpovedajúci kód po zhodnom návestí. Napríklad, ak je hodnota premennej rovná
constant2,case constant2:vykoná sa kód after, až kým sabreaknestane príkaz. - Ak nie je zhoda,
default:vykoná sa kód after .
Poznámka : To isté môžeme urobiť s if… else… ifrebríkom. Syntax switchpríkazu je však čistejšia a oveľa ľahšie sa číta aj píše.
Vývojový diagram príkazu switch
Vývojový diagram prepínača C ++ … vyhlásenie o prípade
Príklad: Vytvorte kalkulačku pomocou príkazu 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; )
Výstup 1
Zadajte operátora (+, -, *, /): + Zadajte dve čísla: 2,3 4,5 2,3 + 4,5 = 6,8
Výstup 2
Zadajte operátora (+, -, *, /): - Zadajte dve čísla: 2,3 4,5 2,3 - 4,5 = -2,2
Výstup 3
Zadajte operátora (+, -, *, /): * Zadajte dve čísla: 2,3 4,5 2,3 * 4,5 = 10,35
Výstup 4
Zadajte operátor (+, -, *, /): / Zadajte dve čísla: 2,3 4,5 2,3 / 4,5 = 0,511111
Výstup 5
Zadajte operátora (+, -, *, /):? Zadajte dve čísla: 2.3 4.5 Chyba! Prevádzkovateľ nemá pravdu.
Vo vyššie uvedenom programe používame switch… casepríkaz na vykonávanie sčítania, odčítania, násobenia a delenia.
Ako tento program funguje
- Najprv vyzveme používateľa, aby zadal požadovaného operátora. Tento vstup sa potom uloží do
charpremennej s názvom oper. - Potom vyzveme používateľa, aby zadal dve čísla, ktoré sú uložené vo floatových premenných num1 a num2.
- Príkaz
switchsa potom použije na kontrolu operátora zadaného používateľom:- Ak užívateľ zadá
+, vykoná sa sčítanie na číslach. - Ak užívateľ zadá
-, odčíta sa od čísel. - Ak užívateľ zadá
*, vykoná sa na číslach násobenie. - Ak užívateľ zadá
/, rozdelenie sa vykoná na číslach. - Ak užívateľ zadá akýkoľvek iný znak, vytlačí sa predvolený kód.
- Ak užívateľ zadá
Všimnite si, že breakpríkaz je použitý vo vnútri každého casebloku. Týmto sa switchvyhlásenie ukončí .
Ak sa breakpríkaz nepoužije, casevykonajú sa všetky prípady po správnom .








