Scusate se oggi è il secondo esercizio che posto ma proprio non riesco a venirne a capo L'esercizio mi chiede di sostuire lo switch prima con else if poi solo con if prestando particolare attenzione al caso default.Questo è il codice
#include <stdio.h>
int main (void) {
int grade=0;
int aCount = 0;
int bCount = 0;
int cCount = 0;
int dCount = 0;
int fCount = 0;
int A,a,B,b,C,c,D,d,F,f;
printf("Enter the letter grades.\n");
printf("Enter the EOF character to end the input.\n");
while ((grade=getchar())!=EOF) {
if(grade==A || grade==a){
++aCount;
}else if (grade==B|| grade==b){
++bCount;
}else if (grade==C || grade==c){
++cCount;
}else if (grade==D || grade==d){
++dCount;
}else if (grade==F || grade==f){
++fCount;
}else
{
printf("Incorrect letter grade entered.");
printf("Enter a new grade.\n");
}
}
printf("\nTotals for each letter grade entered are:\n");
printf("A: %d\n", aCount );
printf("B: %d\n", bCount );
printf("C: %d\n", cCount );
printf("D: %d\n", dCount );
printf("F: %d\n", fCount );
fflush(stdin);
getchar();
return 0;
}
se inserisco a b c d f mi stampa Incorrect letter grade entered.Enter a new grade.
se inserisco qualsiasi altro carattere mi stampa Incorrect letter grade entered.Enter a new grade. due volte.
se inserisco EOF i contatori sono tutti a 0. Dove sbaglio?