🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Switch in C#

Codegrind TeamJul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi dello switch in C#.

Esercizio 1

Scrivi un programma che accetta un numero intero da 1 a 7 e utilizza un blocco 'switch' per convertirlo nel corrispondente giorno della settimana. Stampa il risultato a schermo.
Console.Write("Inserisci un numero da 1 a 7: ");
int numero = int.Parse(Console.ReadLine());
string giorno;
switch (numero)
{
    case 1:
        giorno = "Lunedì";
        break;
    case 2:
        giorno = "Martedì";
        break;
    case 3:
        giorno = "Mercoledì";
        break;
    case 4:
        giorno = "Giovedì";
        break;
    case 5:
        giorno = "Venerdì";
        break;
    case 6:
        giorno = "Sabato";
        break;
    case 7:
        giorno = "Domenica";
        break;
    default:
        giorno = "Numero non valido";
        break;
}
Console.WriteLine("Il giorno corrispondente è: " + giorno);

Esercizio 2

Scrivi un programma che accetta un codice identificativo di un prodotto e utilizza un blocco 'switch' per determinare l'aliquota IVA corrispondente. Stampa il risultato a schermo.
Console.Write("Inserisci il codice identificativo del prodotto: ");
string codice = Console.ReadLine();
double aliquotaIVA;
switch (codice)
{
    case "A":
        aliquotaIVA = 0.22;
        break;
    case "B":
        aliquotaIVA = 0.10;
        break;
    case "C":
        aliquotaIVA = 0.04;
        break;
    default:
        aliquotaIVA = 0.00;
        break;
}
Console.WriteLine("L'aliquota IVA corrispondente è: " + (aliquotaIVA * 100) + "%");

Esercizio 3

Scrivi un programma che accetta un carattere da tastiera e utilizza un blocco 'switch' per convertirlo in una stringa descrittiva. Stampa il risultato a schermo.
Console.Write("Inserisci un carattere: ");
char carattere = Console.ReadKey().KeyChar;
string descrizione;
switch (char.ToLower(carattere))
{
    case 'a':
        descrizione = "Vocale";
        break;
    case 'b':
    case 'c':
    case 'd':
        descrizione = "Consonante";
        break;
    case '1':
    case '2':
    case '3':
        descrizione = "Numero";
        break;
    default:
        descrizione = "Carattere non riconosciuto";
        break;
}
Console.WriteLine("Il carattere è: " + descrizione);

Esercizio 4

Scrivi un programma che accetta un numero intero da 1 a 12 e utilizza un blocco 'switch' per convertirlo nel corrispondente nome del mese. Stampa il risultato a schermo.
Console.Write("Inserisci un numero da 1 a 12: ");
int numero = int.Parse(Console.ReadLine());
string mese;
switch (numero)
{
    case 1:
        mese = "Gennaio";
        break;
    case 2:
        mese = "Febbraio";
        break;
    case 3:
        mese = "Marzo";
        break;
    case 4:
        mese = "Aprile";
        break;
    case 5:
        mese = "Maggio";
        break;
    case 6:
        mese = "Giugno";
        break;
    case 7:
        mese = "Luglio";
        break;
    case 8:
        mese = "Agosto";
        break;
    case 9:
        mese = "Settembre";
        break;
    case 10:
        mese = "Ottobre";
        break;
    case 11:
        mese = "Novembre";
        break;
    case 12:
        mese = "Dicembre";
        break;
    default:
        mese = "Numero non valido";
        break;
}
Console.WriteLine("Il mese corrispondente è: " + mese);

Esercizio 5

Scrivi un programma che accetta un numero intero da 1 a 12 corrispondente a un mese e utilizza un blocco 'switch' per determinare il numero di giorni in quel mese. Stampa il risultato a schermo.
Console.Write("Inserisci un numero da 1 a 12: ");
int numero = int.Parse(Console.ReadLine());
int giorni;
switch (numero)
{
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        giorni = 31;
        break;
    case 4:
    case 6:
    case 9:
    case 11:
        giorni = 30;
        break;
    case 2:
        giorni = 28;
        break;
    default:
        giorni = -1;
        break;
}
Console.WriteLine("Il mese corrisponde a " + giorni + " giorni");

Esercizio 6

Scrivi un programma che accetta un numero intero da 1 a 4 e utilizza un blocco 'switch' per selezionare una figura geometrica corrispondente (cerchio, quadrato, triangolo, rettangolo). Stampa il risultato a schermo.
Console.Write("Inserisci un numero da 1 a 4: ");
int numero = int.Parse(Console.ReadLine());
string figura;
switch (numero)
{
    case 1:
        figura = "Cerchio";
        break;
    case 2:
        figura = "Quadrato";
        break;
    case 3:
        figura = "Triangolo";
        break;
    case 4:
        figura = "Rettangolo";
        break;
    default:
        figura = "Figura non riconosciuta";
        break;
}
Console.WriteLine("La figura corrispondente è: " + figura);

Esercizio 7

Scrivi un programma che accetta un punteggio da 1 a 100 e utilizza un blocco 'switch' per convertirlo in una stringa descrittiva (insufficiente, sufficiente, buono, eccellente). Stampa il risultato a schermo.
Console.Write("Inserisci un punteggio da 1 a 100: ");
int punteggio = int.Parse(Console.ReadLine());
string descrizione;
switch (punteggio)
{
    case var _ when punteggio < 60:
        descrizione = "Insufficiente";
        break;
    case var _ when punteggio < 70:
        descrizione = "Sufficiente";
        break;
    case var _ when punteggio < 80:
        descrizione = "Buono";
        break;
    case var _ when punteggio < 90:
        descrizione = "Distinto";
        break;
    case var _ when punteggio <= 100:
        descrizione = "Eccellente";
        break;
    default:
        descrizione = "Punteggio non valido";
        break;
}
Console.WriteLine("Il punteggio corrisponde a: " + descrizione);

Esercizio 8

Scrivi un programma che accetta un codice identificativo di una bevanda e utilizza un blocco 'switch' per selezionare la bevanda corrispondente (caffè, tè, succo, acqua). Stampa il risultato a schermo.
Console.Write("Inserisci il codice identificativo della bevanda (C, T, S, A): ");
char codice = char.ToUpper(Console.ReadKey().KeyChar);
string bevanda;
switch (codice)
{
    case 'C':
        bevanda = "Caffè";
        break;
    case 'T':
        bevanda = "Tè";
        break;
    case 'S':
        bevanda = "Succo";
        break;
    case 'A':
        bevanda = "Acqua";
        break;
    default:
        bevanda = "Bevanda non riconosciuta";
        break;
}
Console.WriteLine("La bevanda corrispondente è: " + bevanda);

Esercizio 9

Scrivi un programma che accetta un numero intero da 1 a 4 e utilizza un blocco 'switch' per selezionare la stagione corrispondente (primavera, estate, autunno, inverno). Stampa il risultato a schermo.
Console.Write("Inserisci un numero da 1 a 4: ");
int numero = int.Parse(Console.ReadLine());
string stagione;
switch (numero)
{
    case 1:
        stagione = "Primavera";
        break;
    case 2:
        stagione = "Estate";
        break;
    case 3:
        stagione = "Autunno";
        break;
    case 4:
        stagione = "Inverno";
        break;
    default:
        stagione = "Stagione non riconosciuta";
        break;
}
Console.WriteLine("La stagione corrispondente è: " + stagione);

Esercizio 10

Scrivi un programma che accetta un numero romano da I a X e utilizza un blocco 'switch' per convertirlo nel corrispondente numero decimale. Stampa il risultato a schermo.
Console.Write("Inserisci un numero romano da I a X: ");
string numeroRomano = Console.ReadLine().ToUpper();
int numeroDecimale;
switch (numeroRomano)
{
    case "I":
        numeroDecimale = 1;
        break;
    case "II":
        numeroDecimale = 2;
        break;
    case "III":
        numeroDecimale = 3;
        break;
    case "IV":
        numeroDecimale = 4;
        break;
    case "V":
        numeroDecimale = 5;
        break;
    case "VI":
        numeroDecimale = 6;
        break;
    case "VII":
        numeroDecimale = 7;
        break;
    case "VIII":
        numeroDecimale = 8;
        break;
    case "IX":
        numeroDecimale = 9;
        break;
    case "X":
        numeroDecimale = 10;
        break;
    default:
        numeroDecimale = -1;
        break;
}
Console.WriteLine("Il numero decimale corrispondente è: " + numeroDecimale);