Alternativy seminářového úkolu 7

Zadání 2 – Rozpočet mini-projektu

Zadání

Vytvoř aplikaci „Rozpočet mini-projektu“. Uživatel zadá:

  • název práce (text),

  • počet hodin (číslo),

  • sazbu za hodinu v Kč (číslo).

Po kliknutí na tlačítko Přidat se vytvoří objekt položky ve tvaru např.
{ nazev: "...", hodiny: 5, sazba: 300 }
a tento objekt se uloží do pole položek. Aplikace průběžně vypisuje seznam položek do stránky.

Tlačítko Celková cena spočte součet všech položek jako hodiny × sazba. Pokud je zaškrtnuto Započíst DPH 21 %, výsledná částka se navýší o DPH. Uživatel může zadat limit rozpočtu; při překročení limitu se zobrazí varování.

Tlačítko Souhrn zobrazí v alert() přehled položek (každá na nový řádek) a na konci celkovou cenu.
Tlačítko Odebrat poslední odstraní poslední přidanou položku z kolekce.
Tlačítko Reset vyčistí vstupy, kolekci i výstupy.


Cíl úlohy
  • Události kliknutí onclick.

  • Objekty: tvorba objektového literálu a práce s vlastnostmi objektu (polozka.hodiny, polozka.sazba…).

  • Pole objektů: opakované ukládání záznamů do kolekce a iterativní zpracování cyklem.

  • Validace vstupů: prázdný text, číslo, kladná hodnota, volitelně kontrola duplicity názvu položky.

  • Agregace numerických hodnot: výpočet součtu, aplikace DPH, kontrola limitu.

  • DOM manipulace: value, innerHTML, readonly.


Vstupní podmínky

Připravené soubory index.html, style.css, main.js.


Požadovaný výstup
  • Input: název, hodiny, sazba, limit.

  • Checkbox: Započíst DPH 21 %.

  • Tlačítka: Přidat, Celková cena, Souhrn, Odebrat poslední, Reset.

  • Výpis položek do <div id="seznam">.

  • Krátké české komentáře v JS.


Doplňující pokyny
  • Jednotky a měna vypisuj česky („Kč“, „hod“).

  • Nepoužívej šipkové funkce ani ternární operátor.

  • Data ukládej jako objekty v poli objektů.