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