TeorieInstrucțiunea SWITCH
Teorie: Instrucțiunea SWITCH
Instrucțiunea switch, structură decizională multiplă. Reguli de sintaxă, studii de caz și exemple practice.
Nivel: Începător 30 min
Instrucțiunea decizională SWITCH
Instrucțiunea switch este o structură decizională multiplă, foarte utilă atunci când trebuie să alegem o opțiune dintr-un set de valori posibile (de exemplu, un meniu, zilele săptămânii, note). Poate înlocui un șir lung și greu de citit de instrucțiuni if - else if - else.
1. Sintaxa de bază
switch (expresie) {
case valoare1:
// instrucțiuni pentru valoare1
break;
case valoare2:
// instrucțiuni pentru valoare2
break;
// pot exista oricâte case-uri
default:
// instrucțiuni executate dacă nicio altă valoare nu s-a potrivit
}- expresie: trebuie să producă un rezultat de tip întreg sau caracter (
intsauchar). Nu se pot folosi tipuri reale (float,double) sau șiruri de caractere (string). - case valoare: valorile trebuie să fie expresii constante. Când
expresie == valoare, execuția sare la acea etichetă. - break: oprește execuția blocului switch și iese afară. Dacă este omis, se vor executa TOATE instrucțiunile următoare (efectul de fall-through).
- default: este opțional, similar cu ultimul
else. Se execută doar dacă niciun case nu s-a potrivit.
int ziua = 3;
switch (ziua) {
case 1: cout << "Luni"; break;
case 2: cout << "Marți"; break;
case 3: cout << "Miercuri"; break;
default: cout << "Eroare: nu există această zi";
}Capcană la Bacalaureat
În exercițiile grilă se oferă adesea un cod cu switch din care a fost omis intenționat cuvântul cheie break. Amintiți-vă că, fără break, programul va executa toate instrucțiunile de sub cazul găsit adevărat, indiferent de condițiile de la următoarele case-uri!
int x = 1;
switch (x) {
case 1: cout << "A"; // Se afișează A
case 2: cout << "B"; // Se afișează B pentru că lipsește break!
default: cout << "C"; // Se afișează C pentru că lipsește break!
} // Rezultat afișat: ABCSe încarcă statusul...