I copyed this program from book and it doesnt work right. I have reveiwed it and it is just like the book, but when I type EOF it gives me the message incorrect letter grade entered. enter a new grade. It gives that message twice and never gives me how many a,b,c,d,f, that were type in. i am pasteing the program, can someone help me out.

Code:
#include <stdio.h>



int main()

{

	int grade;
	int aCount = 0, bCount = 0, cCount = 0,
		dCount = 0,fCount = 0; 

	printf ( "Enter the letter grades.\n" );
	printf ( "Enter the EOF	character to end input.\n" );

	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 ' ': 
				break;

			default:
				printf ("Incorrect letter grade entered.");
				printf (" Enter a new grade.\n");
				break;

		}

	}

	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);

		
	

	return 0;

}

thanks for your help
cemock