„Biblioteka Sobczak Natalia


Download 69.33 Kb.
bet5/5
Sana05.01.2022
Hajmi69.33 Kb.
#219984
1   2   3   4   5
Bog'liq
Projekt Sobczak 10B

Etap 4. Kontenery STL

  1. Z całego projektu wyeliminować tablice (jednowymiarowe albo wielowymiarowe) i zamienić je na kontenery STL (vector, array, list,....)

std::list czytelnicy;

std::list wypozyczenia;


std::list ksiazki;

  1. Zademonstrować użycie iteratorów, zwykłej pętli (jak w C) oraz pętli zakresowej

bool Biblioteka::usun_wypozyczenie(Wypozyczenie *wypozyczenie_do_usuniecia) {
std::list::iterator wypozyczenie; // iterator, czyli taka wskazowka po liscie, dziala troche tak, jak wskaznik, jak pokazuje np. na pierwszy element, to mozna odwolac sie do niego tak, jakby iterator byl wskaznikiem, czyli dzialaja operacje -> oraz *
for (wypozyczenie = this->wypozyczenia.begin(); wypozyczenie != this->wypozyczenia.end(); ++wypozyczenie) // begin to wskazowka, inaczej iterator na poczatek listy, a end na koniec
if (wypozyczenie->czytelnik->pesel == wypozyczenie_do_usuniecia->czytelnik->pesel && wypozyczenie->wypozyczona_ksiazka->isbn == wypozyczenie_do_usuniecia->wypozyczona_ksiazka->isbn) {
this->wypozyczenia.erase(wypozyczenie);
return true;
} else {
return false;
}
}

for (auto &wypozyczenie : wypozyczenia) { // petla zakresowa, for leci po kazdym elemencie listy


if (wypozyczenie.czytelnik->pesel == czytelnik->pesel) {
std::cout << "Nie da sie usunac czytelnika, ma wypozyczona ksiazke." << std::endl;
return false;
}
}

Download 69.33 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling