Ciao a tutti! Sto imparando da pochissimo il C++ e ora mi è insorto un problema nel seguente blocco di codice:
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";
			}
		}
}
In pratica questo codice parsa un file con un contenuto del tipo:

codice:
1,1,2,3,5,7,11,13,17,20;50,51,53,77,87,90;
Ogni volta che incontra un ';' chiede all'utente se proseguire a mostrare il contenuto del file o se fermarsi lì.

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