Úkoly – OOP

Dlužnici 1

6.4.2015

Napiš program, ve kterém si budeš ukládat, kdo ti kolik dluží.

Třída Dlužník:

  • soukromé vlastnosti jméno, příjmení, telefon, dlužnáČástka (poznámka: telefon není vhodné ukládat jako integer – to by pak nemohl obsahovat mezery, pomlčky, závorky, atd.)
  • má konstruktor, který v parametrech vezme jméno, příjmení a telefon. DlužnouČástku nastaví vždy na 0.00
  • má metodu zjistiDluh, která vrátí dlužnou částku
  • má metodu vypis, která vypíše na obrazovku 1 řádek ve tvaru:
    |Novák     |Adam      |+420 123 456 789    |  123.50|
    všimni si, že všechny položky jsou oddělené svislou čárou | (pravý ALT + W), jméno a příjmení jsou zarovnané na 15 znaků, telefon je zarovnaný na 20 znaků, dlužná částka je zarovnaná na 5+2 číslic.
  • má metodu dlužíMi, která v parametru vezme nějaké číslo a přidá je do dlužné částky
  • má metodu vrátilMi, která v parametru vezme nějaké číslo a odečte je od dlužné částky
  • pokud si myslíš že táto třída potřebuje destruktor, doprogramuj ho.

Funkce main:

  • Vytvoř 3 dlužníkyMarka, Petra a Honzu. (Nezapomeň, že názvy objektů bys měl/a psát malým písmenkem a návy tříd velkým).
  • Půjč Markovi 100 Kč a Petrovi 200 Kč.
  • Honzovi půjč náhodnou částku v intervalu 100÷1000 Kč včetně.
  • Ještě jednou vypiš pod sebou všechny 3 dlužníky.
  • Zeptej se uživatele kolik peněz už Honza vrátil a příslušnou částku Honzovi odečti od dluhu. Honzu vypiš.
  • Sečti kolik ti dluží všichni dohromady a součet vypiš.

Čtverec a obdelník 1

9.4.2015

Vytvoř abstraktní třídu Figure s virtuální metodou area.

Dále vytvoř třídy Circle a Rectangle, které dědí z třídy Figure a potřebné parametry (poloměr a strany) si vezmou už v konstruktoru.

Vytvoř pole 4 pointerů na třídu Figure. V dalších pomocných materiálech jsem pole pojmenoval figures.
Do pole vlož postupně obdelník 2×5, kruh o poloměru 10, obdelník 5×3 a kruh o poloměru 1.

Ve smyčce vypiš obsah všech 4 geometrických tvarů. Měly by vyjít zhruba takové výsledky: 10314153.14

Všechno řádně odstraň z paměti.

Nápovědy a řešení tohoto úkolu najdete zde.

Leave a Reply