Co je to příkaz Switch v C ++?
Příkazy typu switch jsou řízené prohlášení, které je považováno za náhradu za příkazy if-else. Je to příkaz větve s více cestami, který poskytuje způsob, jak uspořádat průběh provádění do částí kódu na základě hodnoty výrazu. Ve velmi základním termínu příkaz switch vyhodnotí výraz, otestuje jej a porovná s několika případy zapsanými v kódu. Jakmile je nalezena shoda s jakýmkoli případem, ovládací prvek vstoupí do tohoto případu a začne vykonávat příkazy zapsané v tomto případě, dokud není nalezeno prohlášení o přerušení. Jakmile se objeví příkaz break, příkaz switch se ukončí a řízení programu ukončí spínač.
Někdy se může stát, že se žádný výraz neshoduje s hodnotou výrazu. V takových případech uvádíme výchozí případ, který bude vždy proveden v případě, že nebude nalezena žádná shoda. Případy v bloku příkazu switch jsou reprezentovány různými čísly nebo řetězci, který je známý jako identifikátor. Hodnota výrazu nebo hodnota poskytnutá uživatelem je s těmito případy porovnávána, dokud není nalezena shoda.
Syntaxe příkazu C ++ Switch
Syntaxe příkazu switch v programovacím jazyce C ++ je uvedena níže -
switch( expression )
(
case value1:
//Block of code;
break;
case value2:
//Block of code;
break;
case valueN:
//Block of code
break;
default:
//Block of code
break;
Při používání příkazu Switch musíte mít na paměti následující věci:
- Štítky case mohou být celé číslo nebo znak a měly by být jedinečné
- Štítky pouzder vždy končí středníkem.
- Přestože výchozí štítek případu není povinný, může být nanejvýš jeden, pokud je definován.
- Pro odstranění kontroly ze smyčky potřebujete příkaz break, jinak by všechny případy před provedením break byly provedeny.
- Výchozí štítek případu nemá žádnou konkrétní pozici.
- Příkaz switch lze také vnořit.
Vývojový diagram příkazu Switch
Jak funguje příkaz Switch Statement v jazyce C ++?
Pojďme porozumět toku kontroly znázorněnému ve výše uvedeném vývojovém diagramu, abychom lépe porozuměli toku provádění.
Výraz je předán příkazem switch, který se rovná jedné z hodnot případů. V případě, že hodnota není stejná, provede se výchozí případ. Hodnota tohoto výrazu je poté porovnána s identifikátorem případu nebo s prvním případem. Pokud se první případ shoduje, provede se blok kódu spojený s prvním případem. Jakmile dojde k přerušení, provádění se zastaví a ukončíte příkaz switch. Pokud se však případ neshoduje, provedení pokračuje do dalšího případu. Pokud se tento případ shoduje, pak druhý blok kódu provede jinak, tok zkontroluje další případ podobným způsobem. Nakonec, pokud se neshoduje žádný případ, provede se výchozí blok kódu.
Příklady příkazu Switch v C ++
Uvidíme některé příklady příkazu switch v C ++.
Příklad č. 1
Tento příklad poskytne větší přehlednost o použití příkazů switch.
#include
using namespace std;
int main () (
char grade_report = 'D';
cout << "Your performance is: " << endl;
switch(grade_report) (
case 'A' :
cout << "Outstanding Result!\n" << endl;
break;
case 'B' :
cout << "Excellent Result!\n" << endl;
break;
case 'C' :
cout << "Good Result\n" << endl;
break;
case 'D' :
cout << "Satisfying Result\n" << endl;
break;
case 'F' :
cout << "Poor Result\n" << endl;
break;
default :
cout << "You did not appear for exam\n" << endl;
)
return 0;
)
Výstup:
Vaše představení je: Spokojující výsledek
Příklad č. 2
Tento příklad ukazuje použití příkazu break v přepínači. Pokud příkaz break není specifikován po případu, bude proces provádění pokračovat, dokud nenarazí na příkaz break.
#include
using namespace std;
int main() (
int range_of_number=50;
switch (range_of_number) (
case 10:
case 20:
case 30:
cout << "The number is 10 or 20 or 30 " << endl;
break;
case 50:
case 55:cout << "This case also executes because there is no break " << endl;
cout << "\n" << endl;
case 60:
cout << "The number is either 40 or 50 or 60" << endl;
break;
default:
cout << "The number is greater than 60" << endl; ))
Výstup:
Tento případ se také provede, protože nedochází k žádnému přerušení
Číslo je 40 nebo 50 nebo 60
Příklad č. 3
#include
using namespace std;
int main()
(
int x = 10, y = 5;
switch(x==y && x+y<10)
(
case 1:
cout << "hi" << endl;
break;
case 0:
cout << "bye" << endl;
break;
default:
cout << " Hello bye " << endl;
))
Výstup:
sbohem
Příklad č. 4
Příkaz vnořeného přepínače
#include
using namespace std;
int main() (
int ID = 300;
int password = 1000;
cout << "Enter Your ID:\n " << endl;
scanf("%d", & ID);
switch (ID) (
case 300:
cout << "Enter your password:\n " << endl;
scanf("%d", & password);
switch (password) (
case 1000:
cout << "Welcome to the portal\n" << endl;
break;
default:
cout << "Enter correct password" << endl;
break;
)
break;
default:
cout << "Enter correct ID" << endl;
break;
))
Výstup:
To bude záviset na hodnotách zadaných uživatelem.
Výstup 1:
Zadejte své ID: 300
Zadejte své heslo: 1000
Vítejte na portálu
Výstup 2:
Zadejte své ID: 100
Zadejte správné ID
Výstup 3:
Zadejte své ID: 300
Zadejte své heslo: 000
Zadejte správné heslo
Závěr
Musíte vědět, že základní tok a funkčnost příkazu switch zůstává ve všech programovacích jazycích stejná. Rozdíl lze vidět pouze v obecné syntaxi založené na použitém programovacím jazyce.
Doporučené články
Toto byl průvodce příkazem Switch v C ++. Zde diskutujeme koncept, syntaxi, práci a příklady příkazu Switch v C ++. Další informace naleznete také v dalších navrhovaných článcích -
- Funkce řetězce C ++
- Co je třída šablon v C ++?
- Aplikace C ++ v reálném světě
- Průvodce případovými prohlášeními v Javě
- Průvodce příkazy PHP Switch