V tomto tutoriálu se pomocí několika příkladů dozvíme o příkazu switch a jeho práci v programování v C ++.
Toto switch
prohlášení nám umožňuje provést blok kódu mezi mnoha alternativami.
Syntaxe switch
pří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 )
Jak funguje příkaz switch?
Hodnota expression
se vyhodnotí jednou a porovná se s hodnotami každého case
štítku.
- Pokud existuje shoda, odpovídající kód po provedení odpovídajícího štítku. Například pokud je hodnota proměnné rovna
constant2
, bude kód pocase constant2:
proveden, dokud nenarazí nabreak
příkaz. - Pokud není shoda, provede se kód po
default:
.
Poznámka : Totéž můžeme udělat s if… else… if
žebříkem. Syntaxe switch
příkazu je však čistší a je mnohem snazší číst a psát.
Vývojový diagram příkazu switch
![](https://cdn.wiki-base.com/4103815/c_switchcase_statement_with_examples.png.webp)
Příklad: Vytvořte kalkulačku pomocí pří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
Zadejte operátor (+, -, *, /): + Zadejte dvě čísla: 2,3 4,5 2,3 + 4,5 = 6,8
Výstup 2
Zadejte operátor (+, -, *, /): - Zadejte dvě čísla: 2,3 4,5 2,3 - 4,5 = -2,2
Výstup 3
Zadejte operátor (+, -, *, /): * Zadejte dvě čísla: 2,3 4,5 2,3 * 4,5 = 10,35
Výstup 4
Zadejte operátor (+, -, *, /): / Zadejte dvě čísla: 2,3 4,5 2,3 / 4,5 = 0,511111
Výstup 5
Zadejte operátora (+, -, *, /):? Zadejte dvě čísla: 2.3 4.5 Chyba! Obsluha není správná.
Ve výše uvedeném programu používáme switch… case
příkaz k provádění sčítání, odčítání, násobení a dělení.
Jak tento program funguje
- Nejprve vyzveme uživatele k zadání požadovaného operátora. Tento vstup se poté uloží do
char
proměnné s názvem oper. - Poté vyzveme uživatele k zadání dvou čísel, která jsou uložena v proměnných float num1 a num2.
- Příkaz
switch
se poté použije ke kontrole operátoru zadaného uživatelem:- Pokud uživatel vstoupí
+
, provede se přidání na čísla. - Pokud uživatel vstoupí
-
, odečte se od čísel. - Pokud uživatel vstoupí
*
, provede se na číslech násobení. - Pokud uživatel vstoupí
/
, provede se dělení na čísla. - Pokud uživatel zadá jakýkoli jiný znak, vytiskne se výchozí kód.
- Pokud uživatel vstoupí
Všimněte si, že break
příkaz je použit uvnitř každého case
bloku. Tím se switch
příkaz ukončí .
Pokud break
příkaz není použit, case
jsou provedeny všechny případy po správném .