POVINNÉ PRÍKLADY

Nasledujúce príklady by ste mali robiť technikou data hiding. Ak by ste potrebovali mať v triede inú metódu okrem tých, ktoré sú v zadaní, samozrejme môžete.

Príklad 1
Pestovanie rastlín
Vytvorte triedu Rastlina, ktorá bude mať dáta: 
Názov 
Minimálna teplota, ktorú rastlina potrebuje
Maximálna teplota, ktorú znesie
Ďalej bude mať trieda konštruktor, v ktorom sa nastavia tieto tri hodnoty.

V programe vytvorte dva objekty triedy Rastlina alokujte ich dynamicky.
Potom rozhodnite, či by ste tieto dve rastliny mohli pestovať na jednom mieste (podľa minimálnej a maximálnej teploty, ktorú znesú).

Príklad 2
Low-cost aerolínie
Vytvorte triedu Let, ktorá bude mať tieto údaje:
Odkiaľ
Kam
Počet miest v lietadle
Počet miest za akciovú cenu
Akciová cena
Počet miest za plnú cenu
Plná cena
Trieda bude obsahovať metódu NastavÚdaje, kde sa všetky tieto hodnoty nastavia, a metódu VypíšInfo, ktorá vypíše všetky informácie o lete.

Váš bude počítať ceny leteniek pre rôzne lety.
Najprv od užívateľa načíta počet letov, potom dynamicky alokuje pole objektov triedy Let s týmto počtom prvkov (nezabudnite, že na to musí mať trieda prázdny konštruktor).
Potom sa pre jednotlivé lety načítajú tieto údaje: odkiaľ, kam, počet miest v lietadle, počet miest za akciovú cenu, akciová cena.
Vypočíta sa, koľko miest musí byť za plnú cenu.
Potom sa načíta údaj o tom, koľko treba získať za letenky, aby sa let oplatil. Na základe toho sa vypočíta, aká bude plná cena letenky.
Nakoniec sa vypíšu informácie o všetkých letoch.

Príklad 3
Počítanie s obdĺžnikmi 
Vytvorte triedu Obdĺžnik, ktorej dáta budú dĺžky strán. Tieto dĺžky sa nastavia v konštruktore.
Ďalej vytvorte triedu Kalkulačka, ktorá bude mať štyri metódy - počítanie obvodu, obsahu a dĺžky uhlopriečky obdĺžnika a jeho preškálovanie. Všetky štyri metódy budú mať ako parameter objekt triedy Obdĺžnik. Metóda Preškálovanie bude mať ešte jeden parameter, koeficient škálovania d. Táto metóda zmenší alebo zväčší obdĺžnik tak, že obidve jeho strany vynásobí koeficientom d. Pôvodný obdĺžnik sa nahradí preškálovaným.
Vytvorte obdĺžnik, vypočítajte a vypíšte jeho obvod, obsah a uhlopriečku. Potom ho preškálujte a znova vypíšte obvod, obsah a dĺžku uhlopriečky.

Príklad 4
Lotéria
V súbore sú zapísané údaje o cenách, ktoré sa dajú vyhrať v lotérii. Súbor vyzerá takto:
Počet údajov v súbore
Názov ceny 1
Hodnota ceny 1
Názov ceny 2
Hodnota ceny 2
...
Súbor môže mať napr. takýto obsah:
4
Zájazd do Egypta
20000
Nič
0
Žehlička
5000
Čokoláda
20

V programe budete mať vytvorenú triedu Cena, ktorá bude mať dva údaje – názov a hodnota. Ďalej bude mať metódy NastavÚdaje a VypíšÚdaje. 
Váš program načíta od užívateľa, koľko lósov si chce kúpiť. Potom mu náhodne vyberie tento počet cien a oznámi mu, čo vyhral.

NEPOVINNÉ PRÍKLADY

Príklad 5
Trieda moj_string
Vytvorte triedu moj_string, ktorá bude umožňovať prácu s reťazcami. Trieda bude obsahovať dynamicky alokované pole znakov, do ktorého sa reťazec uloží, a údaj o dĺžke reťazca. Dĺžka a obsah reťazca sa nastavia v konštruktore. 
Ďalej by mala trieda obsahovať metódy, ktoré umožnia zmenu celého reťazca, ale aj výpis a zmenu jedného konkrétneho znaku v reťazci. Urobte triedu tak, aby kontrolovala hranice poľa, tak ako to je opísané v prednáške v príklade  o funkcii vracajúcej odkaz (pole s kontrolou hraníc).

Príklad 6
Dispečer dopravného podniku
Vytvorte triedu Autobus, ktorá bude mať tieto údaje:
Identifikačné číslo autobusu
Číslo linky
Počet miest
Pojazdnosť
Údaj, či je autobus voľný
Ďalšiu štruktúru triedy(metódy) navrhnite sami. Program načíta zoznam autobusov do dynamicky alokovaného poľa, buď z klávesnice alebo zo súboru. 

Na niektorej linke vypadol autobus a treba poslať záložný. Program načíta číslo linky a počet miest, ktoré by autobus mal mať. Potom nájde v zozname, či je voľný nejaký pojazdný autobus, ktorý má danú kapacitu. Prednostne vyhľadá, či je voľný autobus, ktorý jazdí na danej linke, ak nie, až potom hľadá aj medzi ostatnými. Vypíše prvý voľný autobus, ktorý spĺňa dané podmienky.

Príklad 7
Sledovanie kurzu meny.
Vytvorte triedu Kurzy, ktorá bude obsahovať dynamicky alokované pole – údaje o kurze nejakej meny za niekoľko posledných dní. Ďalej bude obsahovať údaj o dĺžke tohto poľa a názov meny. Názov meny a dĺžka poľa sa nastavia v konštruktore, kde sa pole aj alokuje. Údaje sa do poľa načítajú v metóde NačítajKurzy.

Ďalej vytvorte triedu Analytik, ktorá bude sledovať vývoj kurzu. Bude mať tri metódy:
PriemernýKurz – vypočíta priemerný kurz meny za dané obdobie
NajvyššíKurz – určí maximum za dané obdobie
Tendencia – zistí, či má kurz stúpavú alebo klesavú tendenciu, t.j. či za dané obdobie viackrát klesol alebo stúpol.
Všetky tieto metódy budú mať ako parameter objekt triedy Kurzy.