Esercizi Switch in C++
Codegrind Team•Jul 22 2023
Ecco degli esercizi semplici con soluzione per praticare le basi del costrutto switch in C++.
Esercizio 1
Chiedi all'utente di inserire un numero da 1 a 7 e stampa il giorno corrispondente utilizzando il blocco switch.
#include <iostream>
using namespace std;
int main() {
int numero;
cout << "Inserisci un numero da 1 a 7: ";
cin >> numero;
switch (numero) {
case 1:
cout << "Lunedì" << endl;
break;
case 2:
cout << "Martedì" << endl;
break;
case 3:
cout << "Mercoledì" << endl;
break;
case 4:
cout << "Giovedì" << endl;
break;
case 5:
cout << "Venerdì" << endl;
break;
case 6:
cout << "Sabato" << endl;
break;
case 7:
cout << "Domenica" << endl;
break;
default:
cout << "Numero non valido." << endl;
break;
}
return 0;
}
Esercizio 2
Chiedi all'utente di inserire l'etĂ e calcola il costo del biglietto del cinema utilizzando il blocco switch.
#include <iostream>
using namespace std;
int main() {
int eta;
cout << "Inserisci la tua etĂ : ";
cin >> eta;
double costoBiglietto;
switch (eta) {
case 0 ... 2:
costoBiglietto = 0.0;
break;
case 3 ... 12:
costoBiglietto = 5.0;
break;
case 13 ... 17:
costoBiglietto = 7.5;
break;
default:
costoBiglietto = 10.0;
break;
}
cout << "Il costo del biglietto è: " << costoBiglietto << " euro." << endl;
return 0;
}
Esercizio 3
Chiedi all'utente di inserire un verbo al presente indicativo e coniugalo al passato prossimo utilizzando il blocco switch.
#include <iostream>
using namespace std;
int main() {
string verbo;
cout << "Inserisci un verbo al presente indicativo: ";
cin >> verbo;
string coniugazione;
switch (verbo[verbo.length() - 1]) {
case 'a':
coniugazione = verbo.substr(0, verbo.length() - 1) + "ato";
break;
case 'e':
coniugazione = verbo.substr(0, verbo.length() - 1) + "uto";
break;
case 'i':
coniugazione = verbo.substr(0, verbo.length() - 1) + "ito";
break;
case 'o':
coniugazione = verbo.substr(0, verbo.length() - 1) + "ato";
break;
default:
cout << "Verbo non valido." << endl;
return 0;
}
cout << "Il verbo al passato prossimo è: " << coniugazione << endl;
return 0;
}
Esercizio 4
Chiedi all'utente di inserire una temperatura in gradi Celsius o Fahrenheit e convertila all'altra unitĂ utilizzando il blocco switch.
#include <iostream>
using namespace std;
int main() {
double temperatura;
char unita;
cout << "Inserisci la temperatura: ";
cin >> temperatura;
cout << "Seleziona l'unitĂ di misura ('C' per Celsius, 'F' per Fahrenheit): ";
cin >> unita;
double temperaturaConvertita;
switch (unita) {
case 'C':
temperaturaConvertita = (temperatura * 9 / 5) + 32;
cout << "Temperatura convertita in Fahrenheit: " << temperaturaConvertita << " °F" << endl;
break;
case 'F':
temperaturaConvertita = (temperatura - 32) * 5 / 9;
cout << "Temperatura convertita in Celsius: " << temperaturaConvertita << " °C" << endl;
break;
default:
cout << "UnitĂ di misura non valida." << endl;
break;
}
return 0;
}
Esercizio 5
Chiedi all'utente di inserire il prezzo di un prodotto e applica uno sconto in base alla fascia di prezzo utilizzando il blocco switch.
#include <iostream>
using namespace std;
int main() {
double prezzo;
cout << "Inserisci il prezzo del prodotto: ";
cin >> prezzo;
double prezzoScontato;
switch (static_cast<int>(prezzo)) {
case 0 ... 10:
prezzoScontato = prezzo * 0.9;
break;
case 11 ... 50:
prezzoScontato = prezzo * 0.8;
break;
case 51 ... 100:
prezzoScontato = prezzo * 0.7;
break;
default:
prezzoScontato = prezzo * 0.6;
break;
}
cout << "Il prezzo scontato è: " << prezzoScontato << endl;
return 0;
}
Esercizio 7
Chiedi all'utente di inserire un numero di mese e calcola il corrispondente numero di giorni utilizzando il blocco switch.
#include <iostream>
using namespace std;
int main() {
int mese;
cout << "Inserisci un numero di mese (1-12): ";
cin >> mese;
int giorni;
switch (mese) {
case 2:
giorni = 28;
break;
case 4:
case 6:
case 9:
case 11:
giorni = 30;
break;
default:
giorni = 31;
break;
}
cout << "Il numero di giorni nel mese selezionato è: " << giorni << endl;
return 0;
}
Esercizio 8
Chiedi all'utente di inserire un numero di mese e stampa il corrispondente nome del mese utilizzando il blocco switch.
#include <iostream>
using namespace std;
int main() {
int mese;
cout << "Inserisci un numero di mese (1-12): ";
cin >> mese;
string nomeMese;
switch (mese) {
case 1:
nomeMese = "Gennaio";
break;
case 2:
nomeMese = "Febbraio";
break;
case 3:
nomeMese = "Marzo";
break;
case 4:
nomeMese = "Aprile";
break;
case 5:
nomeMese = "Maggio";
break;
case 6:
nomeMese = "Giugno";
break;
case 7:
nomeMese = "Luglio";
break;
case 8:
nomeMese = "Agosto";
break;
case 9:
nomeMese = "Settembre";
break;
case 10:
nomeMese = "Ottobre";
break;
case 11:
nomeMese = "Novembre";
break;
case 12:
nomeMese = "Dicembre";
break;
default:
cout << "Numero di mese non valido." << endl;
return 0;
}
cout << "Il nome del mese corrispondente è: " << nomeMese << endl;
return 0;
}
Esercizio 9
Chiedi all'utente di inserire una lettera e controlla se è una vocale o una consonante utilizzando il blocco switch.
#include <iostream>
using namespace std;
int main() {
char lettera;
cout << "Inserisci una lettera: ";
cin >> lettera;
switch (lettera) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
cout << "La lettera inserita è una vocale." << endl;
break;
default:
cout << "La lettera inserita è una consonante." << endl;
break;
}
return 0;
}