#include #include #include using namespace std; struct lot // deklaracja struktury danych - lista jednokierunkowa { string symbol_lotu; string lotnisko_startowe; string data; string nazwisko; int nr_siedzenia; lot* nastepny; }; void wypisz(lot* glowa) { if (!glowa) { cout << glowa->symbol_lotu << ";" << endl; wypisz(glowa->nastepny); } } void wczytaj_elementy_z_pliku(string test, lot*& glowa) // funkcja wczytuje elementy z pliku i zapisuje w strukturze danych - liście jednokierunkowej { fstream plik; plik.open("test.txt"); if (plik.good() == 0) { cout << " Błąd! Nie można otworzyć pliku ! " << endl; return; } else { lot* nowy; lot* pomocnicza; if (glowa) { pomocnicza = glowa; while (pomocnicza) { if (pomocnicza->nastepny != nullptr) pomocnicza = pomocnicza->nastepny; // pomocnicza jest ostatnim elementem else break; } nowy = new lot; // nowy element pomocnicza->nastepny = nowy; //ustawianie wskaznika na nowy element nowy->nastepny = nullptr; } else { nowy = new lot; nowy->nastepny = nullptr; glowa = nowy; } int nr_linii = 0; while (plik) { nowy = new lot; while (nr_linii < 4) { switch (nr_linii) { case 0: plik >> nowy->symbol_lotu; cout << nowy ->symbol_lotu << endl; break; case 1: plik >> nowy->lotnisko_startowe; cout << nowy->lotnisko_startowe << endl; break; case 2: plik >> nowy->data; cout << nowy->data << endl; break; case 3: plik >> nowy->nazwisko; cout << nowy->nazwisko << endl; break; case 4: plik >> nowy->nr_siedzenia; cout << nowy->nr_siedzenia << endl; break; } nr_linii++; } if (nr_linii = 4) { nr_linii = 0; } } } wypisz(glowa); } int main() { lot* glowa = nullptr; string test = "test.txt"; wczytaj_elementy_z_pliku(test, glowa); return 0; }