#include <iostream>
#include <string>
using namespace std;
class Osoba
{
protected:
string imie;
string nazwisko;
int wiek;
string zawod;
public:
Osoba()
{
imie = "NULL";
nazwisko = "NULL";
wiek = 0;
zawod = "NULL";
}
void set_imie(string name)
{
imie = name;
}
void set_nazwisko(string surname)
{
nazwisko = surname;
}
void set_wiek(int age)
{
wiek = age;
}
void set_zawod(string job)
{
zawod = job;
}
string get_imie()
{
return imie;
}
string get_nazwisko()
{
return nazwisko;
}
int get_wiek()
{
return wiek;
}
string get_zawod()
{
return zawod;
}
void Wypisz()
{
cout << endl;
cout << "Imie: " << imie << endl;
cout << "Nazwisko: " << nazwisko << endl;
cout << "Wiek: " << wiek << endl;
cout << "Zawod: " << zawod << endl;
}
~Osoba()
{
}
};
class Ksiazka
{
protected:
Osoba autor;
string tytul;
string dataWydania;
string wydawnictwo;
float cena;
public:
Ksiazka()
{
autor.set_imie("NULL");
autor.set_nazwisko("NULL");
autor.set_wiek(0);
autor.set_zawod("NULL");
tytul = "NULL";
dataWydania = "NULL";
wydawnictwo = "NULL";
cena = 0;
}
Ksiazka(string name1, string surname1, int age1, string job1, string title1, string idkwhat1, string stilldontknow1, float price1)
{
autor.set_imie(name1);
autor.set_nazwisko(surname1);
autor.set_wiek(age1);
autor.set_zawod(job1);
tytul = title1;
dataWydania = idkwhat1;
wydawnictwo = stilldontknow1;
cena = price1;
}
string get_imieautora()
{
return autor.get_imie();
}
string get_nazwiskoautora()
{
return autor.get_nazwisko();
}
int get_wiekautora()
{
return autor.get_wiek();
}
string get_zawodautora()
{
return autor.get_zawod();
}
string get_tytul()
{
return tytul;
}
string get_dataWydania()
{
return dataWydania;
}
string get_wydawnictwo()
{
return wydawnictwo;
}
float get_cena()
{
return cena;
}
void Wypisz()
{
cout << "Imie autora: " << autor.get_imie() << endl;
cout << "Nazwisko autora: " << autor.get_nazwisko() << endl;
cout << "Wiek autora: " << autor.get_wiek() << endl;
cout << "Zawod autora: " << autor.get_zawod() << endl;
cout << "Tytul: " << tytul << endl;
cout << "Data wydania: " << dataWydania << endl;
cout << "Wydawnictwo: " << wydawnictwo << endl;
cout << "Cena: " << cena << endl;
}
~Ksiazka()
{
}
};
class Czytelnik : public Osoba
{
protected:
Ksiazka *tab[3];
public:
Czytelnik()
{
for ( int i = 0; i<3; i++)
{
tab[i] = new Ksiazka("","",0,"","","","",0);
}
}
void set_czytelnik(string name2, string surname2, int age2, string job2)
{
imie = name2;
nazwisko = surname2;
wiek = age2;
zawod = job2;
}
Ksiazka set_przypisz(int abc)
{
return *tab[abc];
}
void wypiszKsiazki()
{
Osoba::Wypisz();
cout << endl << "Wypozyczone ksiazki: " << endl << endl;
for(int i=0; i<3;)
{
if(tab[i]->get_tytul() != "NULL")
{
cout << tab[i]->get_imieautora() << endl;
cout << tab[i]->get_nazwiskoautora() << endl;
cout << tab[i]->get_wiekautora() << endl;
cout << tab[i]->get_zawodautora() << endl;
cout << tab[i]->get_tytul() << endl;
cout << tab[i]->get_dataWydania() << endl;
cout << tab[i]->get_wydawnictwo() << endl;
cout << tab[i]->get_cena() << endl;
i++;
}
else
{
i = 3;
}
}
}
~Czytelnik()
{
}
};
int main()
{
Ksiazka *nr1 = new Ksiazka("Mateusz","Drozdzynski",20,"Pisarz","Chleb powszedni czesc pierwsza", "20.04.2020r", "Operon", 53.99);
Ksiazka *nr2 = new Ksiazka("Mateusz","Drozdzynski",20,"Pisarz","Chleb powszedni czesc druga", "21.04.2020r", "Operon", 53.99);
Ksiazka *nr3 = new Ksiazka("Mateusz","Drozdzynski",20,"Pisarz","Chleb powszedni czesc trzecia", "22.04.2020r", "Operon", 53.99);
Ksiazka *nr4 = new Ksiazka("Mateusz","Drozdzynski",20,"Pisarz","Chleb powszedni czesc czwarta", "23.04.2020r", "Operon", 53.99);
Ksiazka *nr5 = new Ksiazka("Mateusz","Drozdzynski",20,"Pisarz","Chleb powszedni czesc piata", "24.04.2020r", "Operon", 53.99);
Ksiazka *nr6 = new Ksiazka("Mateusz","Drozdzynski",20,"Pisarz","Chleb powszedni czesc szosta", "25.04.2020r", "Operon", 53.99);
Ksiazka *nr7 = new Ksiazka("Mateusz","Drozdzynski",20,"Pisarz","Chleb powszedni czesc siodma", "26.04.2020r", "Operon", 53.99);
Ksiazka *nr8 = new Ksiazka("Mateusz","Drozdzynski",20,"Pisarz","Chleb powszedni czesc osma", "27.04.2020r", "Operon", 53.99);
Ksiazka *nr9 = new Ksiazka("Mateusz","Drozdzynski",20,"Pisarz","Chleb powszedni czesc dziewiata", "28.04.2020r", "Operon", 53.99);
Ksiazka *nr10 = new Ksiazka("Mateusz","Drozdzynski",20,"Pisarz","Chleb powszedni czesc dziesiata", "29.04.2020r", "Operon", 53.99);
Czytelnik *ob1 = new Czytelnik();
Czytelnik *ob2 = new Czytelnik();
Czytelnik *ob3 = new Czytelnik();
ob1->set_czytelnik("Robert","Maklowicz",49,"akrobata");
ob2->set_czytelnik("Robert","Rampowicz",59,"pisarz");
ob3->set_czytelnik("Robert","Salatkowicz",69,"poeta");
ob1->set_przypisz(0) = *nr1;
ob1->set_przypisz(1) = *nr2;
ob1->set_przypisz(2) = *nr3;
ob1->wypiszKsiazki();
ob2->wypiszKsiazki();
ob3->wypiszKsiazki();
nr1->Wypisz();
delete ob1, ob2, ob3;
delete nr1, nr2, nr3, nr4, nr5, nr6, nr7, nr8, nr9, nr10;
return 0;
}
Kod wyglada jak powyzej. Program w 90% jest skonczony i jednym problemem jest fakt, iż obiekty które tworze nie potrafie przypisać do tablicy. Czy mógłby ktoś wskazać gdzie popełniam błąd ewentualnie podpowiedzieć gdzie szukać rozwiązania/podpowiedzi?
Pozdrawiam i życzę miłeego wieczoru