[C++] Rozdział 34 - błędne działanie programu.
Ostatnio zmodyfikowano 2016-07-14 20:50
kubaki18 Temat założony przez niniejszego użytkownika |
[C++] Rozdział 34 - błędne działanie programu. » 2016-07-11 18:33:51 Witam. Napisałem program do zadania domowego, który miał wypisać z pliku wszystkie liczby, po czym wypisać na ekran ich sumę. Mój kod: #include <iostream> #include <fstream> #include <string>
using namespace std;
void GetNR( ifstream & plik, int & Suma ) { int Liczba; while( !plik.eof() ) { plik.clear(); plik >> Liczba; if( plik.good() ) { cout << Liczba << ", "; Suma += Liczba; } } }
bool CzytajPlik( string Name ) { ifstream plik; plik.open( Name.c_str() ); if( plik.bad() ) { plik.close(); return false; } int Suma = 0; GetNR( plik, Suma ); cout << "Suma liczb wynosi " << Suma; plik.close(); return true; }
int main() { if( CzytajPlik( "TekstLiczby.txt" ) ) cout << endl << "Udalo sie wczytac plik!"; else cout << endl << "Nie udalo sie wczytac pliku!"; return 0; }
Program kompiluje się, ale nieskończenie powtarza się w momencie gdy napotka jakiś znak nie będący spacją lub liczbą. Nie mam pojęcia dlaczego tak się dzieje. Proszę o pomoc :) |
|
carlosmay |
» 2016-07-11 18:54:06 while( plik >> liczba ) { Suma += liczba; }
|
|
marcolo2307 |
» 2016-07-14 20:50:15 |
|
« 1 » |