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 switchprohlášení nám umožňuje provést blok kódu mezi mnoha alternativami.
Syntaxe switchpří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 expressionse 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í nabreakpříkaz. - Pokud není shoda, provede se kód po
default:.
Poznámka : Totéž můžeme udělat s if… else… ifžebříkem. Syntaxe switchpříkazu je však čistší a je mnohem snazší číst a psát.
Vývojový diagram příkazu switch
Vývojový diagram přepínače C ++… prohlášení o případu
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… casepří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
charpromě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
switchse 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 breakpříkaz je použit uvnitř každého casebloku. Tím se switchpříkaz ukončí .
Pokud breakpříkaz není použit, casejsou provedeny všechny případy po správném .








