La struttura condizionale switch in C++

La struttura switch nel linguaggio C++ è un costrutto di controllo del flusso che permette di eseguire diversi blocchi di codice a seconda del valore di una variabile.

L'istruzione switch ha la seguente struttura di base:

  • switch (espressione) {
  • case valore1:
  • // Blocco di codice per il caso valore1
  • break;
  • case valore2:
  • // Blocco di codice per il caso valore2
  • break;
  • ...
  • default:
  • // Blocco di codice se nessun caso corrisponde
  • }

Come funziona?

L'istruzione switch valuta l'espressione tra parentesi all'inizio del switch.

Il risultato dell'espressione viene confrontato con i valori dei vari case. Ogni case rappresenta un valore che l'espressione potrebbe assumere.

Se il valore del case corrisponde all'espressione, il blocco di codice associato a quel case viene eseguito.

Una volta eseguito il codice in un case, l'istruzione break forza l'uscita dalla struttura switch. Senza break, il programma continua a eseguire i casi successivi, indipendentemente dal loro match.

L'ultima clausola default viene eseguita se nessun case corrisponde al risultato dell'espressione. È opzionale, ma utile per gestire situazioni impreviste.

A cosa serve la struttura switch? È particolarmente utile quando hai molteplici casi da considerare. Immagina che ci sia una situazione con diverse strade da percorrere e ognuna di queste strade porta a una destinazione diversa. In C++, switch è proprio come un incrocio che dirige il flusso del programma lungo una di queste strade. Inoltre, ha una struttura molto più chiara e diretta rispetto alle istruzioni if-else, rendendo il codice più leggibile e gestibile.

    Esempio

    Immagina di avere un semplice programma che reagisce in base al giorno della settimana inserito:

    • int giorno = 3;
    • switch (giorno) {
    • case 1:
    • cout << "Lunedì";
    • break;
    • case 2:
    • cout << "Martedì";
    • break;
    • case 3:
    • cout << "Mercoledì";
    • break;
    • case 4:
    • cout << "Giovedì";
    • break;
    • case 5:
    • cout << "Venerdì";
    • break;
    • case 6:
    • cout << "Sabato";
    • break;
    • case 7:
    • cout << "Domenica";
    • break;
    • default:
    • cout << "Giorno non valido";
    • }

    In questo esempio, il programma stampa "Mercoledì" perché il valore di giorno è 3, corrispondente al case 3.

    Mercoledì

    In conclusione, l'istruzione switch in C++ è un meccanismo efficace quando devi gestire molteplici percorsi decisionali basati sul valore di una singola variabile.

    Rende il tuo codice più leggibile e semplice, specialmente quando confrontato con una serie di istruzioni if-else per lo stesso scopo.

    Inoltre, è più facile mantenere e aggiornare il codice con switch, specialmente quando i casi sono molti e distinti.

    Tuttavia, switch funziona solo con tipi di dati discreti come int, char, e non con float o double.

     
     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin