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

C++ problem z dopisywanie danych do struktury w pliku binarnym

Ostatnio zmodyfikowano 2018-01-25 22:15
Autor Wiadomość
lapus
Temat założony przez niniejszego użytkownika
» 2018-01-25 20:30:59
Jeśli wypisuje wartość sumy w funkcji która liczy sumę jest ok, ale jeśli chcę w niej tylko obliczyć i zapisać a wczytać z innej to zawsze jest 0.
Czyli nie poprawnie się zapisuję, ale dlaczego?
C/C++
struct oceny {
    int ile = 0;
    float suma = 0;
    float srednia;
    float ocena[ 10 ];
};

struct dziennik {
    char imie[ 20 ], nazwisko[ 20 ], pesel[ 20 ], telefon[ 20 ];
    oceny angielski;
    oceny polski;
    oceny matematyka;
   
};
C/C++
void suma_ocen()
{
    dziennik uczen;
   
    fstream plikOdczyt2( "dzienniklekcyjny.dat", ios::binary | ios::in | ios::out );
    for( int j = 1;; j++ )
    {
        plikOdczyt2.read( reinterpret_cast < char *>( & uczen ), sizeof( uczen ) );
        if( plikOdczyt2.eof() ) break;
       
        for( int i = 0; i < uczen.angielski.ile; i++ )
        {
            uczen.angielski.suma += uczen.angielski.ocena[ i ];
        }
        for( int i = 0; i < uczen.matematyka.ile; i++ )
        {
            uczen.matematyka.suma += uczen.matematyka.ocena[ i ];
        }
        for( int i = 0; i < uczen.polski.ile; i++ )
        {
            uczen.polski.suma += uczen.polski.ocena[ i ];
        }
       
        cout << "suma angielski " << uczen.angielski.suma;
       
        cout << "suma matemtyka " << uczen.matematyka.suma;
       
        cout << "suma polski" << uczen.polski.suma;
       
        plikOdczyt2.write( reinterpret_cast < char *>( & uczen ), sizeof( uczen ) );
    }
    plikOdczyt2.close();
   
}
P-168987
pekfos
» 2018-01-25 20:49:37
Po co w ogóle trzymasz w pliku sumę i średnią?
P-168988
lapus
Temat założony przez niniejszego użytkownika
» 2018-01-25 22:15:38
Faktycznie, dzięki.
P-168989
1 « 2 »
Poprzednia strona Strona 2 z 2