V tej vadnici bomo s pomočjo nekaterih primerov spoznali stavek switch in njegovo delovanje pri programiranju na C ++.
switch
Izjava nam omogoča, da izvede blok kode med mnogimi alternativami.
Sintaksa switch
stavka v jeziku 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 )
Kako deluje stavek Switch?
Vrednost expression
se ovrednoti enkrat in primerja z vrednostmi posamezne case
nalepke.
- Če obstaja ujemanje, se izvede ustrezna koda po ujemajoči se nalepki. Na primer, če je vrednost spremenljivke enaka
constant2
, se koda pocase constant2:
izvede, dokler sebreak
ne najde stavek. - Če ni ujemanja, se izvede koda po
default:
.
Opomba : Enako lahko naredimo z if… else… if
lestvijo. Sintaksa switch
stavka pa je bolj čista in veliko lažja za branje in pisanje.
Diagram poteka izjave stikala
![](https://cdn.wiki-base.com/4103815/c_switchcase_statement_with_examples.png.webp)
Primer: Ustvarite kalkulator z uporabo izjave stikala
// 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; )
Izhod 1
Vnesite operator (+, -, *, /): + Vnesite dve številki: 2,3 4,5 2,3 + 4,5 = 6,8
Rezultat 2
Vnesite operator (+, -, *, /): - Vnesite dve številki: 2,3 4,5 2,3 - 4,5 = -2,2
Rezultat 3
Vnesite operator (+, -, *, /): * Vnesite dve številki: 2,3 4,5 2,3 * 4,5 = 10,35
Rezultat 4
Vnesite operator (+, -, *, /): / Vnesite dve številki: 2,3 4,5 2,3 / 4,5 = 0,511111
Izhod 5
Vnesite operator (+, -, *, /):? Vnesite dve številki: 2.3 4.5 Napaka! Operater ni pravilen.
V zgornjem programu z uporabo switch… case
stavka izvajamo seštevanje, odštevanje, množenje in deljenje.
Kako deluje ta program
- Najprej uporabnika pozovemo, da vnese želenega operaterja. Ta vnos se nato shrani v
char
spremenljivko z imenom oper. - Nato uporabnika pozovemo, da vnese dve številki, ki sta shranjeni v spremenljivkah float num1 in num2.
switch
Izjava se nato uporabi za preverjanje operaterja, ki ga vnese uporabnik:- Če uporabnik vnese
+
, se na številkah izvede dodajanje. - Če uporabnik vnese
-
, se na številkah izvede odštevanje. - Če uporabnik vnese
*
, se množenje številk izvede. - Če uporabnik vstopi
/
, se na številkah izvede delitev. - Če uporabnik vnese kateri koli drug znak, se natisne privzeta koda.
- Če uporabnik vnese
Upoštevajte, da se break
stavek uporablja znotraj vsakega case
bloka. S tem se switch
izjava konča .
Če se break
stavek ne uporablja, case
se izvedejo vsi primeri po pravilnem .