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ů.