🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

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;
}