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.