02/04/10 13:54
perseo74
Buongiorno atutti sto cercando di imparare C++ da un manuale, devo ammettere che è piuttosto vecchio, e studiando ho trovato un codice che però non gira correttamente il codice trovato nel libro è il seguente:
con questo codice il valore di grade nello switch non viene memorizzzato correttamente sapete dirmi qual'è il problema e come risolverlo? ho modificato il codice come segue:
e funziona parzialmente poichè il primo input non viene memorizzato nei count potete dirmi dove si trova il problema in tutte e due i codici?Grazie
#include <iostream> using namespace std; int main() { int grade; int 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; cout<<aCount<<endl; 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; 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; }
con questo codice il valore di grade nello switch non viene memorizzzato correttamente sapete dirmi qual'è il problema e come risolverlo? ho modificato il codice come segue:
#include <iostream> #include <stdio.h> using namespace std; int main() { int grade; char prova; int aCount=0, bCount=0, cCount=0, dCount=0, fCount=0; cout<<"Enter the letter grades."<<endl <<"Enter the EOF character to end input."<<endl; grade=cin.get(); while ((grade=cin.get()) != EOF) { switch (grade=cin.get()) { case 'A': case 'a': ++aCount; cout<<aCount<<endl; 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; 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; }
e funziona parzialmente poichè il primo input non viene memorizzato nei count potete dirmi dove si trova il problema in tutte e due i codici?Grazie
aaa