Istruzione switch
Fa parte della sezione Fondamenti del percorso C++ di Coddy. Lezione 29 di 74.
L'istruzione switch è simile a un'istruzione if a più vie. Invece di valutare una singola condizione, verifica il valore di una variabile rispetto a più casi ed esegue il codice associato al caso corrispondente.
Ecco la struttura di base di un'istruzione switch:
switch (variable) {
case value1:
// Codice da eseguire se variable è uguale a value1
break;
case value2:
// Codice da eseguire se variable è uguale a value2
break;
// ... altri casi
default:
// Codice da eseguire se nessun caso corrisponde
}- La parola chiave
switchè seguita dalla variabile che vuoi verificare, tra parentesi. - Ogni
caserappresenta un possibile valore della variabile. - Il codice all'interno di ogni
caseviene eseguito se la variabile corrisponde al valore di quel caso.
- L'istruzione
breakè fondamentale: esce daswitchdopo l'esecuzione di un caso. Senza di essa, l'esecuzione «proseguirebbe» nel caso successivo. - Il caso
defaultè facoltativo e viene eseguito se nessun altro caso corrisponde.
Ecco un esempio:
int day = 3;
std::string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... casi per gli altri giorni
default:
dayName = "Invalid day";
}Puoi anche combinare più casi in uno:
int day = 3;
std::string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... casi per gli altri giorni
default:
dayName = "Invalid day";
}Sfida
PrincipianteCrea un programma che riceva un numero di mese (1 per January, 2 per February, ecc.) e stampi la stagione a cui appartiene. Usa un'istruzione switch per la logica.
Le stagioni e i mesi corrispondenti sono:
- Winter: December (12), January (1), February (2)
- Spring: March (3), April (4), May (5)
- Summer: June (6), July (7), August (8)
- Autumn: September (9), October (10), November (11)
- Invalid month: per le altre opzioni
Provalo tu
#include <iostream>
int main() {
int month;
std::cin >> month;
std::string season = "";
// Scrivi il tuo codice qui sotto
std::cout << season << std::endl;
return 0;
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloIncremento/DecrementoPost-incremento/Post-decrementoAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7Fondamenti di input/output
Istruzione coutIstruzione cinInserimento di stringheRipasso - Fino a 120Ripasso - Vero o falso3Variabili Parte 2
Dichiarazione del tipoConvenzioni di denominazioneRiepilogo - Inizializzare le variabiliConversione di tipo Parte 1Conversione di tipo Parte 26Decisioni
Istruzione ifIf-elseIstruzione switchOperatore condizionaleRiepilogo - If-elseIf-else annidatiEsercitati da solo: Compilatore C++ online