mirror of
https://github.com/szymon-jozef/ZUT-notatki.git
synced 2026-10-28 11:10:38 +01:00
bla bla
This commit is contained in:
69
uczelnia/2_semestr/programowanie/laby/lab9/zad9.cpp
Normal file
69
uczelnia/2_semestr/programowanie/laby/lab9/zad9.cpp
Normal file
@@ -0,0 +1,69 @@
|
||||
#include <cstddef>
|
||||
#include <iostream>
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
|
||||
class Autor {
|
||||
|
||||
public:
|
||||
std::string imie, nazwisko;
|
||||
Autor(std::string imie, std::string nazwisko)
|
||||
: imie(imie), nazwisko(nazwisko) {}
|
||||
Autor() {}
|
||||
};
|
||||
|
||||
class Ksiazka {
|
||||
public:
|
||||
std::string tytul, rok;
|
||||
Autor autor;
|
||||
Ksiazka(std::string tytul, std::string rok, Autor autor)
|
||||
: tytul(tytul), rok(rok), autor(autor) {}
|
||||
Ksiazka() {}
|
||||
friend std::ostream &operator<<(std::ostream &os, Ksiazka k) {
|
||||
os << "Tytuł: " << k.tytul << "\nRok wydania: " << k.rok
|
||||
<< "\nAutor: " << k.autor.imie << ' ' << k.autor.nazwisko;
|
||||
return os;
|
||||
}
|
||||
};
|
||||
|
||||
class Biblioteka {
|
||||
Ksiazka *ksiazki;
|
||||
int aktualna_ksiazka = 0;
|
||||
|
||||
public:
|
||||
Biblioteka(size_t size) : ksiazki(new Ksiazka[size]) {}
|
||||
|
||||
void dodajKsiazke(Ksiazka k) { ksiazki[aktualna_ksiazka++] = k; }
|
||||
|
||||
Ksiazka *szukajPoTytule(std::string tytul) {
|
||||
for (int i = 0; i < aktualna_ksiazka; i++) {
|
||||
if (ksiazki[i].tytul == tytul) {
|
||||
return &ksiazki[i];
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void wypiszWszystkie() {
|
||||
for (int i = 0; i < aktualna_ksiazka; i++) {
|
||||
std::cout << ksiazki[i];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
Biblioteka b = Biblioteka(10);
|
||||
Ksiazka k1 =
|
||||
Ksiazka("Miecz przeznaczenia", "1920", Autor("Andrzej", "Sapkowski"));
|
||||
Ksiazka k2 = Ksiazka("Dziki gon", "1800", Autor("Andrzej", "Sapkowski"));
|
||||
|
||||
b.dodajKsiazke(k1);
|
||||
b.dodajKsiazke(k2);
|
||||
Ksiazka *znalezionaKsiazka = b.szukajPoTytule("Miecz przeznaczenia");
|
||||
if (!znalezionaKsiazka) {
|
||||
return 1;
|
||||
}
|
||||
std::cout << "Znaleziona książka to: " << *znalezionaKsiazka << std::endl;
|
||||
std::cout << "=== Wszystkie książki ===" << std::endl;
|
||||
b.wypiszWszystkie();
|
||||
}
|
||||
Reference in New Issue
Block a user