Come si vede dal printscreen:
https://prnt.sc/frg7x
e dal codice sotto:
// Usare l'istruzione switch per contare il numero di volte che ogni singolo voto a lettera ( A,B,C,D o F ) è stato ottenuo dagli studenti in un esame.
#include <stdio.h>
int main( void )
{
puts( "Inserire, per piacere, i voti a lettera degli studenti; verrà restituito il riepilogo dei risultati.\n" );
// Per il riepilogo dei risultati, definiamo le variabili contatore per A,B,C,D,F.
int aCount = 0;
int bCount = 0;
int cCount = 0;
int dCount = 0;
int fCount = 0;
// Definiamo la variabile grade che sarà di tipo getchar() in modo da poter catturare il carattere inserito.
int grade;
// Definiamo il ciclo while per il sottociclo switch.
while ( ( grade = getchar() ) != EOF ) {
switch ( grade ) {
case 'A':
case 'a':
++aCount;
break;
case 'B':
case 'b':
++bCount;
break;
case 'C':
case 'c':
++cCount;
break;
case 'D':
case 'd':
++dCount;
break;
case 'F':
case 'f':
++fCount;
break;
case '\n':
case '\t':
case ' ':
break;
default:
puts( "Hai inserito un voto non corretto. Inserisci un voto corretto ( A,B,C,D,F )" );
break;
}
}
// Riepilogo dei risultati.
puts( "Riepilogo dei risultati:\n" );
printf( "A:\t\t%d\nB:\t\t%d\nC:\t\t%d\nD:\t\t%d\nF:\t\t%d\n", aCount, bCount, cCount, dCount, fCount );
}
anche sostituendo le variabili unsigned int con int il problema dell' EOF persiste.... chissà se riuscirò ad avere il riepilogo dell'esame di questi studenti!!....
Grazie... Se avete qualche suggerimento è ben accetto ...