Lekcja 34 Zadanie domowe 1
Ostatnio zmodyfikowano 2014-08-31 14:45
dark488 Temat założony przez niniejszego użytkownika |
» 2014-08-31 14:08:48 Gdy program natrafi na znak, nie liczbę, próbowałem wczytywać go do osobnej zmiennej ze znakami a liczby do osobnej, jednak i tak było źle. W przykładzie z lekcji 34 użyto break, nie wiem jednak gdzie mógłbym go wstawić. |
|
pekfos |
» 2014-08-31 14:21:03 Powinieneś raczej użyć ignore(). Nie masz przerwać pętli, po napotkaniu błędnych danych. |
|
dark488 Temat założony przez niniejszego użytkownika |
» 2014-08-31 14:45:47 Omg, a ja po przeczytaniu jednej z poprzednich lekcji myślałem, że ignore() tyczy się tylko Linuksa... Trzeba było sie nieźle napocić, ale grunt, że wszystko działa jak należy. Wrzucam tutaj prawidłowy kod pętli, gdyby ktoś miał podobny problem: while( !plik.eof() ) { plik >> liczby; if( plik.bad() ) { cout << "Nastapil blad sprzetowy!" << endl; plik.close(); return false; } else if( plik.fail() ) { plik.clear(); plik.ignore(); continue; } cout << liczby << " "; suma += liczby; } |
|
1 « 2 » |