Approfondimento - Switch Case

ORIGINE: Le strutture di Selezione IF/ELSE

Come abbiamo visto nei tutorial precedenti delle strutture IF/ELSE, che sono dei costrutti di selezione, esiste anche un altro costrutto, chiamato switch case.

In programmazione lo switch è un'istruzione usata in gran parte dei linguaggi in grado di poter gestire più casi del valore di una variabile che è stata in precedenza inizializzata. È molto utile quando ad esempio si deve gestire una grande quantità di possibilità di valore di un variabile senza usare sempre una condizione.

In disegno flow-chart, lo switch case è rappresentabile così:
Immagine

L'istruzione Switch si presenta di solito con la stessa sintassi.

È costituito principalmente da due parti:

1)Lo Switch vero e proprio,

2)I case,che sarebbero i vari casi della variabile.

ESEMPIO DI SWITCH CASE IN C:

Codice: Seleziona tutto

int numero;
printf("Scegli un numero tra 1 e 3");
scanf("%d", &numero);
switch(numero)
{
    case 1:
        printf("Hai scelto 1");
        break;
 
    case 2:
        printf("Hai scelto 2");
        break;
 
    case 3:
        printf("Hai scelto 3");
        break;
        
    default:
        printf("Non hai scelto un numero compreso tra 1 e 3");
        break;
}
ESEMPIO DI SWITCH CASE IN C++:

Codice: Seleziona tutto

int numero;
cout<<"Scegli un numero da 1 a 3"<<endl;
cin>>numero;
switch(numero)
{
    case 1:
        cout<<"Hai scelto 1"<<endl;
        break;
 
    case 2:
        cout<<"Hai scelto 2"<<endl;
        break;
 
    case 3:
        cout<<"Hai scelto 3"<<endl;
        break;
        
    default:
        cout<<"Non hai scelto un numero compreso tra 1 e 3"<<endl;
        break;
}
Da notare bene che il caso default indica la condizione a seguito della quale, tutti gli altri case non rispettino il valore della variabile dello switch.
L'istruzione break va utilizzata alla fine di ogni case, incluso quello di default, per indicare l'uscita dal costrutto switch case corrente.