wczytywanie danych do kolejki

0

Witam chce napisac program ktory bedzie zapisywal dane do pliku a pozniej wyswietlal te dane. Program niestety oczytuje mi tylko pierwszą daną ( nie działa mi chyba kolejka)
KOD :
http://pastebin.com/vLjWaWu6

0
matky napisał(a):

... oczytuje mi tylko pierwszą daną ...

Mylisz się, nie odczytuje niczego.
Otwierasz w trybie dopisywania do końca (czyli wskaźnik na końcu pliku) i próbujesz czytać.

0

Hej,
najszybszą przeróbką jaką możesz wprowadzić jest zmiana funkcji wczytaj i rezygnacja z funkcji wyswietl().

     
void baza::wczytaj(){
        std::ifstream strumien_file;
        strumien_file.open("plik2.txt", std::ios::in);
        strumien_file.seekg(0,std::ios::beg);
        while (strumien_file  >> nazwa) {
            std::cout << "\tImie: " << nazwa << std::endl;
       }
       strumien_file.close();
};

i wtedy switch na poczatku:

          
switch (znak) {
    case '1':
        lista = new baza(NULL);
        lista->pobierz();
        lista->zapisz();
        std::cout << " zapisano !";
        break;
    case '2':
        lista = new baza(NULL);
        lista->wczytaj();
        break;
}

Moim zdaniem próbujesz czytać jakbyś miał zaimplementowaną listę jednokierunkową i funckja wyswietl() dla obiekt = obiekt->nastepny pobiera smieci. Zastanów się jaki jest Twój cel. Czy chcesz mieć różne obiekty i w nich zapisane imiona czy po prostu czytać z pliku.

Pozdrawiam,

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