Wczytywanie danych z pliku

0

Witajcie
Otóż mam problem. Potrzebuję wczytać dane z pliku, w którym format danych wygląda tak:
"imie nazwisko wiek skutecznosc"
itd. ilość linii zależna od ilości pracowników.
Potrzebuje wczytać imię każde żeby sprawdzić czy jego długość jest >3 oraz każde nazwisko sprawdzić czy kończy się na "ski" oraz czy skuteczność pracownika jest największa ze wszystkich.

Siedzę już nad tym sporo czasu i nie mogę tego rozwikłać.
Jak na razie mam takie coś.

while(!plikczyt.eof())
	{		
	plikczyt >> slowa;  // Wczytywanie pojedynczych slow po kolei z pliku
        cout << slowa << endl;	
	}
	plikczyt.close();
1
while(plikczyt>>imie>>nazwisko>>wiek>>skutecznosc) ...
0

Szczerze to nie pomogło mi to.

0

A próbowałeś może getline() ?

http://www.cplusplus.com/reference/string/string/getline/

0

Z tego co wyczytałem to getline pobiera cały wiersz jako jedno, więc mi się nie przyda ;/
Próbuje tak wczytać
char name[20];
plikczyt>>name;
cout << name << endl; Tylko to także czyta mi jako cały wiersz bo wypisuje wszystkie wiersze:
imie
nazwisko
wiek
skuteczność
imie
nazwisko
...
Nie mam pomysłu ;/

0

To co Ty właściwie chcesz zrobić? Jeśli wyświetla Ci to w kolumnie (a w pliku jest w wierszu) to znaczy że wczytałeś każde słowo z pliku po kolei do zmiennej. Potem chyba nietrudno wywnioskować, że pierwsze słowo to imię, drugie nazwisko a czwarte skuteczność? :)

0

Tak tylko, że mi to czyta wszystko pod jedną zmienna i próbuje wyodrębnić te dane co mi zresztą nie wychodzi.
Potrzebuje przepisać imiona do tablicy znaków, nazwiska tak samo i efektywność do tablicy zmiennoprzecinkowych.

1

To niech imię, nazwisko będą stringami a wiek i skuteczność liczbami. Wtedy skończy czytać przy "białym znaku" czyli spacji/końcu linii i tym podobnych. Jak to nie to daj przykładową zawartość pliku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1