U ovom uputstvu naučit ćemo o naredbi switch i njegovom radu u programiranju na C ++ uz pomoć nekoliko primjera.
switch
Izjava nam omogućuje izvršiti blok koda među mnogim alternativama.
Sintaksa switch
izraza na 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 funkcionira naredba switch?
Vrijednost expression
se procjenjuje jednom i uspoređuje s vrijednostima svake case
naljepnice.
- Ako postoji podudaranje, izvršava se odgovarajući kod nakon odgovarajuće oznake. Na primjer, ako je vrijednost varijable jednaka
constant2
, kôd aftercase constant2:
izvršava se dok sebreak
ne naiđe na naredbu. - Ako nema podudaranja,
default:
izvršava se kod nakon .
Napomena : Isto možemo učiniti s if… else… if
ljestvama. Međutim, sintaksa je switch
izjave čišća i puno je lakša za čitanje i pisanje.
Dijagram toka Izjave prekidača

Primjer: Stvorite kalkulator pomoću Izjave prekidača
// 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; )
Izlaz 1
Unesite operator (+, -, *, /): + Unesite dva broja: 2,3 4,5 2,3 + 4,5 = 6,8
Izlaz 2
Unesite operator (+, -, *, /): - Unesite dva broja: 2,3 4,5 2,3 - 4,5 = -2,2
Izlaz 3
Unesite operator (+, -, *, /): * Unesite dva broja: 2,3 4,5 2,3 * 4,5 = 10,35
Izlaz 4
Unesite operator (+, -, *, /): / Unesite dva broja: 2,3 4,5 2,3 / 4,5 = 0,511111
Izlaz 5
Unesite operator (+, -, *, /):? Unesite dva broja: 2.3 4.5 Pogreška! Operator nije točan.
U gornjem programu koristimo switch… case
izjavu za izvođenje zbrajanja, oduzimanja, množenja i dijeljenja.
Kako ovaj program djeluje
- Prvo zatražimo od korisnika da unese željenog operatora. Taj se ulaz zatim pohranjuje u
char
varijablu nazvanu oper. - Zatim tražimo od korisnika da unese dva broja koja su pohranjena u plutajuće varijable num1 i num2.
switch
Izjava tada se koristi za provjeru operatora unio korisnik:- Ako korisnik uđe
+
, na brojevima se vrši zbrajanje. - Ako korisnik uđe
-
, na brojevima se vrši oduzimanje. - Ako korisnik uđe
*
, množenje se vrši na brojevima. - Ako korisnik uđe
/
, vrši se dijeljenje brojeva. - Ako korisnik unese bilo koji drugi znak, ispisuje se zadani kôd.
- Ako korisnik uđe
Primijetite da se break
izjava koristi unutar svakog case
bloka. Ovim se switch
izjava prekida .
Ako se break
izjava ne koristi, case
izvršavaju se svi slučajevi nakon ispravne .