Úvodní znalosti
Účty
 Vytisknout studijní materiál

Zadání:

Navrhněte spojovou strukturu realizující klientský účet. Každý účet bude obsahovat dva spojové seznamy zachycující jednotlivé peněžní výběry a vklady. Stav účtů může být záporný, tzn. celková velikost vybrané částky může být vyšší než součet všech vkladů.

Názvy tříd:

Ucet - obsahuje ukazatele na seznam vkládaných a seznam vybíraných položek, a jméno vlastníka účtu.

Polozka - množství peněz (vybíraných nebo vkládaných), odkaz na další položku. Třídu Polozka použijte pro realizaci spojového seznamu vkladů i výběrů viz následující obrázek

Napište metodu sectiVklady( ) třídy Ucet, která zjistí celkovou sumu všech vkladů.

Napište metodu sectiVybery( ) třídy Ucet, která zjistí celkovou sumu všech výběrů.

Dále implementujte metodu maDebet( ) třídy Ucet, jenž zjistí, zda je hotovost na účtu záporná.

Vytvořte třídu Ucty (klientská třída pro ověření implementace rozhraní třídy Ucet, ve které vytvoříte tři účty jako instance třídy Ucet. Na první účet s vlastníkem Jirka vložte dva vklady po 1000 Kč a neprovádějte žádný výběr, na druhý účet s vlastníkem Petr uložte vklad 1000 Kč a proveďte dva výběry po 1000 Kč a na třetím účtu s vlastníkem Pavel bez vkladu proveďte jeden výběr 1000 Kč. U účtů, které se nacházejí v debetu, vypište jména vlastníků (použijte metodu maDebet( )).

Vzor vstupu:

Jirka

+1000

+1000

Petr

+1000

-1000

-1000

Pavel

-1000

Vzor výstupu:

Debet má

Petr

Pavel