Rozdzial 34
Ostatnio zmodyfikowano 2019-01-02 11:02
Mavannkas Temat założony przez niniejszego użytkownika |
Rozdzial 34 » 2019-01-02 00:02:38 Robię "2. [trudne zadanie] Napisz program, który dla każdego wiersza w pliku: wczyta liczby i wypisze ich sumę w przypadku, gdy wszystkie liczby uda się wczytać; wypisze komunikat o błędnych danych, jeżeli wystąpi błąd podczas wczytywania liczb (komunikat ma wyświetlać numer wiersza, w którym wystąpił błąd)." I w sumie wszystko zrobione i działa lecz chciałbym uwzględnić w programie tekst "Linia jest pusta" zawsze kiedy takowa będzie. Jakieś sugestie? Czuje się zmartwiony problemami z tym zadaniem ktoś tak miał? void zadanie( std::string sciezka ) { int wiersz = 1, a, suma = 0; std::ifstream plik; std::string cos; plik.open( sciezka.c_str() ); do { plik >> a; if( plik.fail() ) { suma = 0; std::cout << std::endl << "Bledne dane w wierszu nr. " << wiersz; wiersz++; plik.clear(); plik.ignore( 10000, '\n' ); } else { suma += a; if( czyNapotkanoZnakNowegoWiersza( plik ) ) { wiersz++; std::cout << std::endl << suma; suma = 0; } } } while( !plik.eof() ); if( suma != 0 ) { wiersz++; std::cout << std::endl << suma; suma = 0; } } |
|
pekfos |
» 2019-01-02 01:16:49 I z czym masz problem dokładnie? |
|
Mavannkas Temat założony przez niniejszego użytkownika |
» 2019-01-02 10:45:27 Z tym że nie wiem jak sprawdzić czy linia jest na start pusta. |
|
jankowalski25 |
» 2019-01-02 11:02:53 Linia jest pusta, kiedy funkcja czyNapotkanoZnakNowegoWiersza( plik ) zwróci true lub gdy osiągnięto koniec danych. |
|
« 1 » |