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?