Sto leggendo il libro di deitel e questo programma sfrutta il costrutto di selezione switch.Il programma dovrebbe contare il numero di voti differenti assegnati durante un esame.

Ecco il codice:

codice:
#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int main()
{
   int grade,       
       aCount = 0, 
       bCount = 0,  
       cCount = 0,  
       dCount = 0, 
       fCount = 0;  

   cout << "Enter the letter grades." << endl
        << "Enter the EOF character to end input." << endl;

   while ( ( grade = cin.get() ) != 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:  
            cout << "Incorrect letter grade entered."
                 << " Enter a new grade." << endl;
            break;
      }
   }

   cout << "\n\nTotals for each letter grade are:" 
        << "\nA: " << aCount 
        << "\nB: " << bCount 
        << "\nC: " << cCount 
        << "\nD: " << dCount
        << "\nF: " << fCount << endl;

   return 0;
}

Il problema è questo, quando vado ad eseguire, il compilatore mi dice che EOF was not declared in this scope.Non capisco cosa dovrei assegnare ad eof che dovrebbe essere l'end of system di "defalut", o sbaglio?in windows dovrebbe coincidere con ctrl-z, ma anche utilizzando una variabile qualsiasi al posto di EOF e digitanto poi ctrl-z, il costrutto switch non termina per poi procedere quindi con il cout dei voti.Sapreste aiutarmi?