Stálí zákazníci

Kovář má stálé zákazníky a někteří z nich dostávají slevu: o určitý počet zlatých méně za každou zakázku. Najdete je v novém poli staliZakaznici, jehož prvky mají typ Zakaznik. Slevu nemá každý stálý zákazník, a proto je sleva nepovinná vlastnost.

Stálý zákazník se slevou zaplatí cenu po odečtení slevy a řádek jeho zakázky končí slevou v závorce. Stálý zákazník bez slevy zaplatí plnou cenu. Zákazník, který mezi stálými není, zaplatí také plnou cenu, ale řádek končí textem (nový zákazník). Celková cena je teď to, co zákazníci opravdu zaplatí:

Kira: kování, Hroty šípů (ocel), 30 zlatých (sleva 5)
Bruno: oprava, Válečná sekera, 15 zlatých (nový zákazník)
Lena: broušení, Dýka, 8 zlatých
Bruno: kování, Štít (bronz), 20 zlatých (nový zákazník)
Celkem: 73 zlatých

Kira má slevu 5 zlatých, takže za hroty šípů zaplatí 30. Lena je stálá zákaznice bez slevy a Bruno mezi stálými zákazníky vůbec není.

Tip: až budete zákazníka hledat pomocí find, vzpomeňte si z lekce Sjednocené typy a zužování, že nemusí nic najít. TypeScript vás donutí tenhle případ ošetřit, a stejně tak chybějící slevu.

Pokyny

Upravte řádky zakázek: ukažte slevy a označte zákazníky, kteří mezi stálými nejsou.

Vypište celkovou cenu, kterou zákazníci zaplatí.

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

2/3