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

Wyczytywanie danych z pliku ifstream

Ostatnio zmodyfikowano 2015-06-06 00:45
Autor Wiadomość
drn
Temat założony przez niniejszego użytkownika
Wyczytywanie danych z pliku ifstream
» 2015-06-05 22:43:36
Witam, mam problem z wyczytaniem danych z pliku. Mianowicie mam plik .txt:
C/C++
Kwas Franciszka 176.29 21.1
Kwas Florian 182.93 102.
Moskwa Adam 170.42 66.2
Pilecka Feliks 158.71 71.6
Komar Aneta 145.26 51.2
Refren Gustaw 190.87 48.2

I chce go wczytać do 4 tablic: imie,nazwisko,wzrost,waga każda po 1000 elementów. Lecz nie wyczytuje dobrze tych danych do tablic gdyż po skompilowaniu kodu wyświetla mi się:
problem
problem
 
brakuje rekordu wagi przy 1 osobie

Oto kod:
C/C++
string imie[ 1000 ];
string nazwisko[ 1000 ];
float wzrost[ 1000 ];
float waga[ 1000 ];

ifstream in1;
string tmp1, tmp2;
float x, y;
int i = 0;
in1.open( "BMI.txt" );
while( !in1.eof() ) {
    in1 >> tmp1 >> tmp2 >> x >> y;
    imie[ i ] = tmp1;
    nazwisko[ i ] = tmp2;
    wzrost[ i++ ] = x;
    waga[ i ] = y;
}
in1.close();
int n = i; //ostatnia wartosc i jest jednoczesnie iloscia linii w pliku (a wiec iloscia uczniow)
//2)
//3
for( int i = 0; i < 50; i++ ) {
    cout << "[" << imie[ i ] << " " << nazwisko[ i ] << ", wzrost: " << wzrost[ i ] << " cm, waga: " << waga[ i ] << " kg ]" << endl;
   
}

gdy chce dodać:
waga[i++] = y;
wtedy wywala od razu błąd


Ma ktoś jakieś pomysły?
P-133236
SeaMonster131
» 2015-06-06 00:45:43
Zwiększaj
i
 na końcu pętli. Poza tym, nie musisz również używać dodatkowych zmiennych tylko od razu wczytywać z pliku do tablicy.
P-133242
« 1 »
  Strona 1 z 1