mirror of
https://github.com/szymon-jozef/ZUT-notatki.git
synced 2026-09-07 12:10:40 +02:00
poprawki w kodzie xdddxdd
This commit is contained in:
@@ -32,10 +32,14 @@ class Biblioteka {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
Biblioteka(size_t size) : ksiazki(new Ksiazka[size]) {}
|
Biblioteka(size_t size) : ksiazki(new Ksiazka[size]) {}
|
||||||
|
~Biblioteka() {
|
||||||
|
delete[] ksiazki;
|
||||||
|
ksiazki = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
void dodajKsiazke(Ksiazka k) { ksiazki[aktualna_ksiazka++] = k; }
|
void dodajKsiazke(Ksiazka k) { ksiazki[aktualna_ksiazka++] = k; }
|
||||||
|
|
||||||
Ksiazka *szukajPoTytule(std::string tytul) {
|
Ksiazka *szukajPoTytule(std::string tytul) const {
|
||||||
for (int i = 0; i < aktualna_ksiazka; i++) {
|
for (int i = 0; i < aktualna_ksiazka; i++) {
|
||||||
if (ksiazki[i].tytul == tytul) {
|
if (ksiazki[i].tytul == tytul) {
|
||||||
return &ksiazki[i];
|
return &ksiazki[i];
|
||||||
@@ -44,9 +48,9 @@ public:
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wypiszWszystkie() {
|
void wypiszWszystkie() const {
|
||||||
for (int i = 0; i < aktualna_ksiazka; i++) {
|
for (int i = 0; i < aktualna_ksiazka; i++) {
|
||||||
std::cout << ksiazki[i];
|
std::cout << ksiazki[i] << '\n';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -58,20 +62,29 @@ public:
|
|||||||
Osoba(std::string imie) : imie(imie) {}
|
Osoba(std::string imie) : imie(imie) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
class Czytelnik : Osoba { // dziedziczenie
|
class Czytelnik : public Osoba { // dziedziczenie
|
||||||
Ksiazka *ksiazki; // agregacja
|
Ksiazka *ksiazki; // agregacja
|
||||||
const int max_ilosc;
|
const int max_ilosc;
|
||||||
int aktualna_ilosc_ksiazek = 0;
|
int aktualna_ilosc_ksiazek = 0;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Czytelnik(std::string imie, size_t max_ilosc)
|
Czytelnik(std::string imie, size_t max_ilosc)
|
||||||
: Osoba(imie), max_ilosc(max_ilosc), ksiazki(new Ksiazka[max_ilosc]) {}
|
: Osoba(imie), max_ilosc(max_ilosc), ksiazki(new Ksiazka[max_ilosc]) {}
|
||||||
void wypozycz(Ksiazka ksiazka) {
|
~Czytelnik() {
|
||||||
if (aktualna_ilosc_ksiazek < max_ilosc) {
|
delete[] ksiazki;
|
||||||
ksiazki[aktualna_ilosc_ksiazek++] = ksiazka;
|
ksiazki = nullptr;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
void wypiszWszystkie() {
|
|
||||||
|
void wypozycz(Biblioteka &biblioteka, std::string tytul) {
|
||||||
|
Ksiazka *ksiazka = biblioteka.szukajPoTytule(tytul);
|
||||||
|
if (!ksiazka) {
|
||||||
|
std::cout << "Nie znaleziono książki pt." << tytul << " w bibliotece!"
|
||||||
|
<< std::endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ksiazki[aktualna_ilosc_ksiazek++] = *ksiazka;
|
||||||
|
}
|
||||||
|
void wypiszWszystkie() const {
|
||||||
for (int i = 0; i < aktualna_ilosc_ksiazek; i++) {
|
for (int i = 0; i < aktualna_ilosc_ksiazek; i++) {
|
||||||
std::cout << ksiazki[i];
|
std::cout << ksiazki[i];
|
||||||
}
|
}
|
||||||
@@ -80,13 +93,16 @@ public:
|
|||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
Biblioteka b = Biblioteka(12);
|
Biblioteka b = Biblioteka(12);
|
||||||
Ksiazka k1 =
|
std::string tytul = "Ogniem i mieczem";
|
||||||
Ksiazka("Ogniem i Mieczem", "1920", Autor("Henryk", "Sienkiewicz"));
|
Ksiazka k1 = Ksiazka(tytul, "1920", Autor("Henryk", "Sienkiewicz"));
|
||||||
b.dodajKsiazke(k1);
|
b.dodajKsiazke(k1);
|
||||||
std::cout << "Książki biblioteki: "<< std::endl;
|
std::cout << "===\n";
|
||||||
|
std::cout << "Książki biblioteki: " << std::endl;
|
||||||
b.wypiszWszystkie();
|
b.wypiszWszystkie();
|
||||||
Czytelnik czytelnik = Czytelnik("Bogdan", 8);
|
Czytelnik czytelnik = Czytelnik("Bogdan", 8);
|
||||||
std::cout << "Książki czytelnika: "<< std::endl;
|
std::cout << "===\n";
|
||||||
czytelnik.wypozycz(k1);
|
std::cout << "Książki czytelnika: " << std::endl;
|
||||||
|
czytelnik.wypozycz(b, tytul);
|
||||||
|
czytelnik.wypozycz(b, "Hobbit");
|
||||||
czytelnik.wypiszWszystkie();
|
czytelnik.wypiszWszystkie();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ public:
|
|||||||
class Pochodna : public Bazowa {
|
class Pochodna : public Bazowa {
|
||||||
public:
|
public:
|
||||||
Pochodna(int val) : Bazowa(val) {}
|
Pochodna(int val) : Bazowa(val) {}
|
||||||
void wypisz() { std::cout << x << std::endl; }
|
void wypisz() const { std::cout << x << std::endl; }
|
||||||
};
|
};
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
|||||||
@@ -29,11 +29,20 @@ public:
|
|||||||
class Biblioteka {
|
class Biblioteka {
|
||||||
Ksiazka *ksiazki;
|
Ksiazka *ksiazki;
|
||||||
int aktualna_ksiazka = 0;
|
int aktualna_ksiazka = 0;
|
||||||
|
int const max_Ksiazki;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Biblioteka(size_t size) : ksiazki(new Ksiazka[size]) {}
|
Biblioteka(size_t size) : ksiazki(new Ksiazka[size]), max_Ksiazki(size) {}
|
||||||
|
~Biblioteka() {
|
||||||
|
delete[] ksiazki;
|
||||||
|
ksiazki = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
void dodajKsiazke(Ksiazka k) { ksiazki[aktualna_ksiazka++] = k; }
|
void dodajKsiazke(Ksiazka k) {
|
||||||
|
if (aktualna_ksiazka < max_Ksiazki) {
|
||||||
|
ksiazki[aktualna_ksiazka++] = k;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Ksiazka *szukajPoTytule(std::string tytul) {
|
Ksiazka *szukajPoTytule(std::string tytul) {
|
||||||
for (int i = 0; i < aktualna_ksiazka; i++) {
|
for (int i = 0; i < aktualna_ksiazka; i++) {
|
||||||
@@ -46,7 +55,7 @@ public:
|
|||||||
|
|
||||||
void wypiszWszystkie() {
|
void wypiszWszystkie() {
|
||||||
for (int i = 0; i < aktualna_ksiazka; i++) {
|
for (int i = 0; i < aktualna_ksiazka; i++) {
|
||||||
std::cout << ksiazki[i];
|
std::cout << ksiazki[i] << '\n';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user