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

Zadanie lekcja 33, .good()

Ostatnio zmodyfikowano 2014-08-25 08:58
Autor Wiadomość
przemko06
Temat założony przez niniejszego użytkownika
Zadanie lekcja 33, .good()
» 2014-08-24 23:08:22
Prosiłbym o wytłumaczenie dlaczego tak się dzieje....

Gdy kod programu z zadania 33 napiszę tak:
C/C++
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

void wypisz( int & b )
{
    cout << "\n\nSuma: " << b;
    cout << "\n\n";
    return;
}

void odczyt( int a, int & b )
{
    cout << a << " ";
    b += a;
   
    return;
}

bool wczytajPlik( string nazwaPliku, int & b )
{
    ifstream plik;
    plik.open( nazwaPliku.c_str() );
   
    if( !plik.good() )
         return false;
   
    while( true ) {
        int a;
        plik >> a;
        if( plik )
             odczyt( a, b );
        else
             break;
       
    }
   
    wypisz( b );
   
   
   
    return true;
   
}



int main()
{
    int b = 0;
   
    if( !wczytajPlik( "liczby.txt", b ) )
         cout << "Nie udalo sie otworzyc pliku" << endl;
   
}

To program działa jak należy
Chodzi mi tutaj o:
if( plik )


a gdy napisze tak:
C/C++
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

void wypisz( int & b )
{
    cout << "\n\nSuma: " << b;
    cout << "\n\n";
    return;
}

void odczyt( int a, int & b )
{
    cout << a << " ";
    b += a;
   
    return;
}

bool wczytajPlik( string nazwaPliku, int & b )
{
    ifstream plik;
    plik.open( nazwaPliku.c_str() );
   
    if( !plik.good() )
         return false;
   
    while( true ) {
        int a;
        plik >> a;
        if( plik.good() )
             odczyt( a, b );
        else
             break;
       
    }
   
    wypisz( b );
   
   
   
    return true;
   
}



int main()
{
    int b = 0;
   
    if( !wczytajPlik( "liczby.txt", b ) )
         cout << "Nie udalo sie otworzyc pliku" << endl;
   
}

Czyli:
if( plik.good() )

To z pliku liczby.txt nie wczytuje mi zawsze ostatniej liczby.
P-116029
Monika90
» 2014-08-25 00:11:38
Już było na ten temat kilka dni temu
http://cpp0x.pl/forum/temat/​?id=16649
P-116032
przemko06
Temat założony przez niniejszego użytkownika
» 2014-08-25 08:58:14
ok dzięki wielkie :)
P-116036
« 1 »
  Strona 1 z 1