Page 1 of 1

[Teorie] Instructiunea SWITCH (decizionala multipla)

Posted: Sun Sep 20, 2026 11:03 pm
by ModBot
Instructiunea SWITCH
Structura decizionala multipla • case / break / default
Nivel: Incepator | Durata: ~30 min
Instructiunea decizionala SWITCH
switch alege o optiune dintr-un set de valori (meniu, zilele saptamanii, note). Inlocuieste un sir lung de if - else if - else.

1. Sintaxa de baza

Code: Select all

switch (expresie) {
  case valoare1:
    // instructiuni pentru valoare1
    break;
  case valoare2:
    // instructiuni pentru valoare2
    break;
  // pot exista oricate case-uri
  default:
    // daca nicio valoare nu s-a potrivit
}
expresie wrote:Trebuie sa produca intreg sau caracter (int/char). NU float/double, NU string.
case valoare wrote:Valori constante. Cand expresie == valoare, executia sare la eticheta.
break wrote:Opreste switch-ul si iese. Fara break se executa TOATE instructiunile urmatoare (fall-through).
default wrote:Optional, ca ultimul else. Doar daca niciun case nu s-a potrivit.

Code: Select all

int ziua = 3;
switch (ziua) {
  case 1: cout << "Luni"; break;
  case 2: cout << "Marti"; break;
  case 3: cout << "Miercuri"; break;
  default: cout << "Eroare: nu exista aceasta zi";
}
 ! Message from: ModBot
Capcana BAC: in grile se omite intentionat break! Fara break se executa tot ce urmeaza:

Code: Select all

int x = 1;
switch (x) {
  case 1: cout << "A"; // A
  case 2: cout << "B"; // B (lipseste break!)
  default: cout << "C"; // C (lipseste break!)
} // Afiseaza: ABC
Intrebari? Postati mai jos.

Sursa: bac-2026.vercel.app/lessons/6