ESERCIZI SWITCH
ES 1
Scrivi un programma che, dato un numero da 1 a 7, stampi il nome del giorno corrispondente. 1 → Lunedì 2 → Martedì … 7 → Domenica
ES 2
Scrivi un programma che, dato un voto scolastico da 1 a 10, stampi il giudizio: 1–4 → “Insufficiente” 5 → “Mediocre” 6 → “Sufficiente” 7–8 → “Buono” 9–10 → “Ottimo”
ES 3
Chiedi all’utente di inserire due numeri e un’operazione (+, -, *, /). Utilizza uno switch per eseguire l’operazione scelta e stampare il risultato.
SOLUZIONI
#include <stdio.h>
int main()
{
/*
ES 1
Scrivi un programma che, dato un numero da 1 a 7, stampi il nome del giorno corrispondente.
1 → Lunedì
2 → Martedì
…
7 → Domenica
*/
int giorno = -6;
switch (giorno)
{
case 1:
printf("Lunedì");
break;
case 2:
printf("Martedì");
break;
case 3:
printf("Mercoledì");
break;
case 4:
printf("Giovedì");
break;
case 5:
printf("Venerdì");
break;
case 6:
printf("Sabato");
break;
case 7:
printf("Domenica");
break;
default:
printf("Non esiste questo giorno");
break;
}
/*
ES 2
Scrivi un programma che, dato un voto scolastico da 1 a 10, stampi il giudizio:
1–4 → "Insufficiente"
5 → "Mediocre"
6 → "Sufficiente"
7–8 → "Buono"
9–10 → "Ottimo"
*/
int voto = 9;
switch (voto)
{
// sommare i casi
// che sia 1,2,3 o 4 fai lo stesso case -> no codice duplicato
case 1:
case 2:
case 3:
case 4:
printf("Insufficiente");
break;
case 5:
printf("Mediocre");
break;
case 6:
printf("Sufficiente");
break;
case 7:
case 8:
printf("Buono");
break;
case 9:
case 10:
printf("Ottimo");
break;
default:
printf("Voto inesistente");
break;
}
/*
ES 3
Chiedi all’utente di inserire due numeri e un’operazione (+, -, *, /).
Utilizza uno switch per eseguire l’operazione scelta e stampare il risultato.
*/
int n1 = 1;
int n2 = 2;
char segno = 'f';
switch (segno)
{
case '+':
printf("%d", n1 + n2);
break;
case '-':
printf("%d", n1 - n2);
break;
case '*':
printf("%d", n1 * n2);
break;
case '/':
printf("%d", n1 / n2);
break;
default:
printf("operazione non consentita");
break;
}
}