Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Rozdział 34 - błędne działanie programu.

Ostatnio zmodyfikowano 2016-07-14 20:50
Autor Wiadomość
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:
C/C++
#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 :)
P-149849
carlosmay
» 2016-07-11 18:54:06
C/C++
while( plik >> liczba ) {
    Suma += liczba;
}
P-149852
marcolo2307
» 2016-07-14 20:50:15
Założyłeś już  taki temat i dostałeś tam odpowiedź.

edit: *#*#*, miałem to napisać w drugim temacie...
P-149968
« 1 »
  Strona 1 z 1