1.7 - Struttura switch - case
Scritto da sergio il 29/08/2022 12:31:12
Ci sono casi dove la scelta che può effettuare il programma si sviluppa in casistiche ben definite,
in questo caso invece di annidare sequele di "if ... else ... " è più comodo e chiaro utilizzare
una struttura composta dalle parole chiave "switch" e "case".
Nell'esempio qui sotto, vengono accettati degli input da tastiera e conteggiati i totali delle tipologie di input.
La parola chiave "default" funge da "else", cioè prevedere l'elaborazione nel caso il nostro input non faccia scopa
con nessuno dei "case" previsti.
Code:
/* Contare i tipi di giudizio degli studenti */ #include <stdio.h> main() { int giudizio; int ottimoCount = 0, distintoCount = 0, buonoCount = 0, sufficienteCount = 0, insufficienteCount = 0; printf("Inserisci il giudizio: \n"); printf("Digita il carattere di EOF per terminare.\n"); while ((giudizio = getchar()) != EOF) { switch (giudizio) { case 'OTTIMO': case 'ottimo': ++ottimoCount; break; case 'DISTINTO': case 'distinto': ++distintoCount; break; case 'BUONO': case 'buono': ++buonoCount; break; case 'SUFFICIENTE': case 'sufficiente': ++sufficienteCount; break; case 'INSUFFICIENTE': case 'insufficiente': ++insufficienteCount; break; case '\n': case ' ': break; default: printf("Giudizio non corretto."); printf(" Inserisci un nuovo giudizio.\n"); break; } } printf("\n I totali per ogni giudizio sono:\n"); printf("OTTIMO: %d\n", ottimoCount); printf("DISTINTO: %d\n", distintoCount); printf("BUONO: %d\n", buonoCount); printf("SUFFICIENTE: %d\n", sufficienteCount); printf("INSUFFICIENTE: %d\n", insufficienteCount); return 0; }
Ultimo aggiornamento 09/09/2022 12:25:14