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?

Rispondi quotando