====== Domácí úkoly ====== ===== 1. domácí úkol ===== **Zadání úlohy:** Napište v C++ program, který bude realizovat maticové počty. **Procvičované dovednosti:** jednoduché třídy, standardní vstup a výstup, přetížení operátorů **Pokyny:** - Program v C++ provádí maticové operace se dvěma maticemi. - Matice, se kterými se pracuje, jsou do programu načteny ze standardního vstupu - Formát vstupu je na programátorovi. Doporučený formát: na prvním řádku dvě čísla reprezentující počet řádků a počet sloupců, následují data. Za první maticí následuje operátor a pak druhá matice. Pokud jsou data v nesprávném formátu, program to oznámí uživateli. - Matice jsou reprezentovnány třídou. - Operace mezi maticemi jsou prováděny pomocí přetížených operátorů. - Výsledek se tiskne na standardní výstup. ===== 2. domácí úkol ===== **Zadání úlohy:** Napište v C++ program, který zrealizuje hierarchii tříd. **Procvičované dovednosti:** dědičnost, virtuální metody, abstraktní třídy **Pokyny** - Program realizuje následující hierarchii: * abstraktní třídu popisující 2D objekt * třída obsahuje dvě plně virtuální metody vypoctiPlochu() a vypoctiObvod(), případně další podle potřeby * třídy Trojuhelník, Obdelnik, Kruh (případně další), které jsou potomky abstraktní třídy * parametry popisovaných 2D objektů jsou nastaveny pomocí vhodné metody nebo argumentem konstruktoru - program bude obsahovat hlavní metodu s příklady vytvoření objektů, voláním členských metod a zobrazením výsledků * alespoň jeden 2D objekt bude inicializován interaktivně (tj. vlastnosti budou nastaveny uživatelem programu za běhu) - zajímavou variantou múže být program, který bude mít na začátku textové menu, vyzývající uživatele k výběru 2D objektu a zadání jeho parametrů ===== 3. domácí úkol ===== **Zadání úlohy:** Napište v C++ program pro správu databáze jednoduché knihovny **Procvičované dovednosti:** abstraktní třídy, virtuální metody, knihovna standarních šablon **Pokyny:** - V knihovně mohou být uloženy různé druhy tiskovin (knihy, časopisy, ..): * Kniha: autor, název, vydavatel, rok vydání * Časopis: název, vydavatel, rok, číslo * Každý záznam: datum vložení, žánr - Program bude obsahovat menu pro: * pořízení nového záznamu * smazání existujícího záznamu * vyhledávání záznamů podle prvního písmene autora / názvu * výpis všech záznamů - Bonus: * seřazení podle vhodného kritéria (rok, název) * export/import do souboru (bonus, přemýšlejte nad vhodným fomátem)