Ciao a tutti! Sto imparando da pochissimo il C++ e ora mi è insorto un problema nel seguente blocco di codice:
In pratica questo codice parsa un file con un contenuto del tipo:codice:while (in >> cnum >> ch) { cout << SEPARATOR << "Numeri primi a partire da " << cnum << SEPARATOR; while(in >> cnum >> ch) { if (ch == ';') { cout << SEPARATOR << "Fine dei numeri primi fino al " << cnum << SEPARATOR; if (!in.eof()) { cout << "\n\nPremi 'c' per continuare a scorrere i numeri primi, " << "oppure 'x' per interrompere la lettura"; for( ; ; ) { action = getch(); if (action == 'x') return false; else if (action == 'c') break; } } break; } else { cout << cnum << "\t"; } } }
Ogni volta che incontra un ';' chiede all'utente se proseguire a mostrare il contenuto del file o se fermarsi lì.codice:1,1,2,3,5,7,11,13,17,20;50,51,53,77,87,90;
Però quando incontra l'ultimo punto e virgola chiede ancora se continuare o interrompere la lettura (anche se siamo in fondo al file)VVoVe: e se ne frega del if(!in.eof())
Come mai? e cosa potrei fare?
Grazie davvero

VVoVe: e se ne frega del if(!in.eof())
Rispondi quotando