Metoda wczytująca dane z pliku i automatycznie dodająca je do obiektów

0

Mam problem z utworzeniem metody wczytującej dane z pliku i automatycznie dodającej te dane do obiektów, które też są tworzone przez metodę. Dokładniej robię projekt - symulację szkoły. Mam tutaj 2 klasy: Uczniowie i Korytarz. Po wczytaniu ma powstać n obiektów z wypełnionymi danymi z pliku txt, w którym każda linia to dane jednego obiektu (też mam wersję, że każda dana jest w oddzielnej linii, czyli obiekt będzie zawierał 7 linii).

class Uczniowie
{
	int wiek, przyjazn, sila, zycie, pieniadze;
	string imie, nazwisko;

public:
	Uczniowie(string = "Kumpel", string = "Dobry", int = 12, int = 90, int = 10, int = 50, int = 30);
	~Uczniowie();
	void show();
};

void Uczniowie::show()
{
	cout << endl << "Twoj przyjaciel: " << endl;
	cout << imie << " " << nazwisko << " lat: " << wiek << endl << "Stopien przyjazni: " << przyjazn << endl << "Sila: " << sila << endl << "Zycie: " << zycie << endl << "Pieniadze: " << pieniadze << " PLN" << endl;
}

Uczniowie::Uczniowie(string im, string na, int wi, int pr, int si, int zy, int pln)
{
	imie = im;
	nazwisko = na;
	wiek = wi;
	przyjazn = pr;
	sila = si;
	zycie = zy;
	pieniadze = pln;
}

Uczniowie::~Uczniowie()
{
	
}
class Korytarz
{
	int liczba_miejsc, numer_sali;

public:
	Korytarz(int = 100, int = 0);
	~Korytarz();
	void wczytaj_uczniow();
};

void Korytarz::wczytaj_uczniow()
{
	cout << "Tu beda tworzone obiekty Uczniowie i do tych obiektow beda wczytywane dane z pliku" << endl;
}

Korytarz::Korytarz(int lm, int nr)
{
	liczba_miejsc = lm;
	nr = numer_sali;
}

Korytarz::~Korytarz()
{

}

Po wielu próbach, stwierdzam że nie mam pojęcia jak to zrobić. Dodam, że to dopiero mój początek przygody z programowaniem obiektowym, więc proszę o wyrozumiałość ;). W załączniku daje 2 pliki txt, o których pisałem wcześniej.

1
#ifndef KORYTARZ_H
#define KORYTARZ_H
#include <iostream>
#include <fstream>
#include <vector>
#include "Uczniowie.h"

using namespace std;

class Korytarz
{
    std::vector<Uczniowie> lista_uczniow;
    int liczba_miejsc, numer_sali;

public:
    Korytarz(int = 100, int = 0);
    ~Korytarz();
    void wczytaj_uczniow();
    void wyswietl_uczniow();
};

void Korytarz::wczytaj_uczniow()
{
    Uczniowie uczen;
    ifstream plik;
    plik.open("lista_uczniow.txt");
    if(!plik.good())
        return;
    while(plik.good())
    {
        plik>>uczen.imie>>uczen.nazwisko
           >>uczen.wiek>>uczen.przyjazn
           >>uczen.sila>>uczen.zycie
           >>uczen.pieniadze;
        lista_uczniow.push_back(uczen);
    }
    plik.close();
}

void Korytarz::wyswietl_uczniow()
{
    for(Uczniowie uczen : lista_uczniow)
    {
        cout<<uczen.imie<<" "<<uczen.nazwisko
            <<" "<<uczen.wiek<<" "<<uczen.przyjazn
            <<" "<<uczen.zycie<<" "<<uczen.zycie
            <<" "<<uczen.pieniadze<<endl;
    }
}

Korytarz::Korytarz(int lm, int nr)
{
    liczba_miejsc = lm;
    nr = numer_sali;
}

Korytarz::~Korytarz()
{

}
#endif

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