📢 Nuovo Corso Laravel API disponibile!

Esercizi Switch in C#

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