Zadanie 1 Zaprojektować i zdefiniować strukturę opisującą książkę

Transkrypt

Zadanie 1 Zaprojektować i zdefiniować strukturę opisującą książkę
Zadanie 1
Zaprojektować i zdefiniować strukturę opisującą książkę. Do opisu książki należy użyć takich
informacji jak:
• autor
• tytuł
• rok wydania
• gatunek (typ wyliczeniowy Gatunek określający gatunki: Dla dzieci (=1), Sensacja,
Romans, Obyczajowa, Fantastyka)
Zadanie 2
Zaprojektować i zaimplementować funkcję wyświetlającą informacje o książce. Funkcja powinna
przyjmować referencję do książki oraz strumień, na którym mają być wyświetlone informacje.
Ksiazka k;
/*
przypisanie przykladowych danych do pol struktury
. . .
*/
wyswietl(cout, k);
/*
Autor: …
Tytu: …
Rok: …
Gatunek: … (slownie – nie jako wartosc liczbowa)
*/
Zadanie 3
Zaprojektować i zaimplementować funkcję przypisującą odpowiednie dane do pól struktury.
string autor = „Charlaine Harris”;
string tytul = „Klub martwych";
int rok = 2010;
Gatunek gatunek = FANTASTYKA;
Ksiazka k;
przypisz(k, autor, tytul, rok, gatunek);
wyswietl(k);
Zadanie 4
Zaprojektować i zaimplementować funkcję tworzącą książkę (jako zmienną dynamiczną; na
podstawie danych przekazanych jako parametry funkcji) i zwracającą wskaźnik do tej książki.
string autor = „Dan Brown”;
string tytul = „Zaginiony symbol";
int rok = 2010;
Gatunek gatunek = SENSACJA;
Ksiazka * k = utworz(autor, tytul, rok, gatunek);
wyswietl(*k);
Zadanie 5
Zaprojektować i zaimplementować funkcję tworzącą książkę na podstawie danych odczytanych z
pliku XML o następującym formacie. Funkcja powinna zwracać wskaźnik do struktury, a
przyjmować strumień, z którego mają być odczytane dane.
<ksiazka gatunek=” 1 ” rok=” 2010 ”>
<tytul> Baśnie dla Antosia </tytul>
<autor> Monika Rakusa </autor>
</ksiazka>
ifstream plik(”ksiazka.xml”);
Ksiazka * k = wczytajXML(plik);
wyswietl(*k);
Zadanie 6
Zaprojektować i zaimplementować funkcję zapisującą książkę w formacie XML na zadany
strumień.
Ksiazka k;
ofstream plik(”ksiazka.xml”);
. . .
zapisz(k,cout);
zapisz(k,plik);
Zadanie 7
Zaprojektować i zdefiniować strukturę półka zawierającą numer półki oraz dynamiczną tablicę
znajdujących się na niej książek. Zaimplementować funkcję przydzielającą pamięć dla książek na
półce.
Polka p;
p.numer = 1;
int size = 10;
przydziel_pamiec(p,size);
Zadanie 8
Zaprojektować i zaimplementować funkcję umieszczającą książkę na końcu półki. Funkcja
powinna przyjmować referencję do książki oraz półki, a zwracać wartość logiczną określającą czy
książka zmieściła się na półce (liczba książek mieszczących na półce jest ograniczona i ustalana
podczas przydzielania pamięci).
Ksiazka k;
Polka p;
. . .
if (!umiesc_ksiazke(p,k))
{
cout << ”Nie mozna polozyc ksiazki na tej polce, poniewaz jest juz w
calosci zapelniona ciekawymi ksiazkami” << endl;
}
Zadanie 9
Zaprojektować i zaimplementować funkcję wypisującą informacje o wszystkich książkach
umieszczonych na półce na zadany strumień.
Polka p;
...
wyswietl(cout,p);
Należy zastanowić się czy i dlaczego powtarzająca się nazwa funkcji (taka sama jak w zadaniu 2)
będzie powodowała błąd.
Zadanie 10
Zaprojektować i zaimplementować funkcję usuwającą z półki książkę o podanym indeksie.
Polka p;
wyswietl(cout,p);
zdejmij(p,2);
wyswietl(cout,p);
Zadanie 11
Zaprojektować i zdefiniować funkcje wczytującą informacje o półce i umieszczonych na niej
książkach z pliku xml.
<polka numer=” 7 ” wielkosc=” 20 ”>
<ksiazka gatunek=” 1 ” rok=” 2010 ”>
<tytul> Baśnie dla Antosia </tytul>
<autor> Monika Rakusa </autor>
</ksiazka>
<ksiazka gatunek=” 2 ” rok=” 2010 ”>
<tytul> Zaginiony symbol </tytul>
<autor> Dan Brown </autor>
</ksiazka>
</polka>
Polka p;
ifstream plik(”polka.xml”);
ustaw_ksiazki(p,plik);
Zadanie 12
Zaprojektować i zaimplementować funkcję wpisującą informacje o półce i znajdujących się na niej
książkach w formacie xml na zadany strumień.
Polka p;
. . .
ofstream plik(”polka.xml”);
zapisz(p, polka);
zapisz(p, cout);
Zadanie 13
Zaprojektować i zaimplementować funkcję ustawiającą książki na półce alfabetycznie według
nazwiska autora.
Polka p;
. . .
poukladaj(p);
wyswietl(cout,p);
Zadanie 14
Zaprojektować i zdefiniować strukturę Biblioteczka składającą się z 5 półek oraz funkcję
przydzielającą pamięć dla n książek na każdej półce(zadanie 7).
Zadanie 15
Zaprojektować i zaimplementować funkcję porządkującą książki w biblioteczce. Na każdej półce
powinny się znaleźć książki innego rodzaju. Funkcja powinna zwrócić informacje o tym czy udało
się zrobić porządek na półkach (czy na każdej półce wystarczyło miejsca dla wszystkich książek z
danego gatunku).
Zadanie 16
Zaprojektować format dokumentu XML przechowującego pełne informacje o biblioteczce, półkach
i znajdujących się na nich książkach. Zaprojektować i zaimplementować funkcję wypisującą
biblioteczkę na zadany strumień oraz funkcję odczytującą biblioteczkę ze strumienia.
Zadanie 17
Zaprojektować i zaimplementować funkcję odczytującą dane o książkach z pliku XML i
umieszczającą książki na odpowiednich półkach biblioteczki. Funkcja powinna zwracać informację
czy udało się umieścić wszystkie książki na odpowiednich półkach.

Podobne dokumenty