[Rozdział 33] Wczytanie z pliku
Ostatnio zmodyfikowano 2015-01-23 11:17
luuuzik Temat założony przez niniejszego użytkownika |
[Rozdział 33] Wczytanie z pliku » 2015-01-22 23:20:49 Witam, napisałem program wczytujący oraz sumujący dane z pliku, jednakże mam dziwny problem: Mój plik nazywa się sumy.txt i mam tam liczby: 100 100 100 100 100 100 21 50 Program podlicza mi wszystko poza ostatnią liczbą tj. 50 i wyrzuca wynik: 621 za każdym razem. Próbowałem zwiększyć ilość liczb w pliku i zauważyłem że zawsze nie podlicza ostatniej liczby, jakakolwiek ona by nie była. Oto kod: #include <fstream> #include <iostream> #include <string> using namespace std;
bool wczytajPlik( string nazwaPliku ) { ifstream plik; plik.open( nazwaPliku.c_str() ); if( !plik.good() ) return false; int suma = 0; int a = 0; while( true ) { plik >> a; if( plik.good() ) { suma = suma + a; } else break; cout << "Suma wynosi: " << suma << endl; } return true; }
int main() { if( !wczytajPlik( "sumy.txt" ) ) cout << "Nie udalo sie otworzyc pliku!" << endl; return 0; }
Jaki błąd popełniłem? |
|
Winner_Of_Death |
» 2015-01-23 00:29:07 W złej kolejności wykonujesz operacje w pętli. if( !plik.good() ) break;
plik >> a; suma = suma + a;
|
|
luuuzik Temat założony przez niniejszego użytkownika |
» 2015-01-23 11:17:15 Dzięki, wszystko działa :D |
|
« 1 » |