// using while, switch with multiple cases // and EOF #include int main(void) { int grade; int aCount=0,bCount=0,cCount=0,dCount=0,eCount=0,fCount = 0; printf("Enter the letter grades. \n"); printf("Enter the EOF character, ctrl-c or\n"); printf("ctrl-z, etc to end input.\n"); while((grade = getchar()) != EOF) { // switch nested in while loop switch(grade) { // grade was uppercase A or lowercase a case 'A': case 'a': ++aCount; break; // grade was uppercase B or lowercase b case 'B': case 'b': ++bCount; break; // grade was uppercase C or lowercase c case 'C': case 'c': ++cCount; break; // grade was uppercase D or lowercase d case 'D': case 'd': ++dCount; break; // grade was uppercase E or lowercase e case 'E': case 'e': ++eCount; break; // grade was uppercase F or lowercase f case 'F': case 'f': ++fCount; break; // ignore these input case '\n': case ' ': break; // catch all other characters default: { printf("Incorrect letter grade entered.\n"); printf("Enter a new grade.\n"); } break; } } // do the counting printf("\nTotals for each letter grade are:\n"); printf("A: %d\n", aCount); printf("B: %d\n", bCount); printf("C: %d\n", cCount); printf("D: %d\n", dCount); printf("E: %d\n", eCount); printf("F: %d\n", fCount); return 0; }