Souhrnná úloha – Kavárna

Stránky: Moodle ZČU
Kurz: Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný)
Kniha: Souhrnná úloha – Kavárna
Vytiskl(a): Nepřihlášený host
Datum: neděle, 18. října 2026, 07.34

Úloha

Zadání (kontext úlohy):

Napiš jednoduchý program pro kavárnu, který na základě volby uživatele vypíše odpovídající zprávu o objednávce. Uživatel si vybere číslo nápoje z nabídky, program podle něj pomocí konstrukce switch určí, co si zákazník objednal, a zobrazí cenu.


Cíl úlohy:

Procvičit konstrukci switch, práci s větvemi case a break, použití větve default, správné ukončení větvení a kombinaci jednoduché logiky s textovým výstupem.


Vstupní podmínky:
  • Student pracuje pouze se souborem script.js.

  • Program načítá číslo volby pomocí prompt().

  • Použij switch pro rozhodování podle čísla.


Požadovaný výstup:
  1. Zobrazí nabídku nápojů:

    1. Káva
    2. Čaj
    3. Džus
    4. Voda
  2. Uživatel zadá číslo (1–4).

  3. Pomocí switch program podle volby vypíše:

    • název nápoje,

    • cenu,

    • krátkou zprávu potvrzující objednávku.

  4. Pokud zadá jiné číslo nebo text, program vypíše chybovou hlášku pomocí větve default.


Doplňující pokyny:
  • Používej pouze let a const.

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

  • Každý case zakonči příkazem break;.

  • Pro testování vyzkoušej různé vstupy (platné i neplatné).

Řešení úlohy

Co je zde splněno

  • Program zobrazuje nabídku nápojů (1–4).

  • Vstup načten pomocí prompt().

  • Ověření číselné hodnoty pomocí isNaN(volba) == true.

  • Rozhodování realizováno pomocí konstrukce switch.

  • Každá větev obsahuje break, aby se předešlo propadávání do dalších větví.

  • Větev default ošetřuje neplatné volby.

  • Použity pouze let a const, žádný ternární operátor ani šipkové funkce.

Vylepšení oproti začátečnické verzi

  • Kód je přehlednější – data (nápoj, cena) se ukládají do proměnných.

  • Přidána validace rozsahu (volba < 1 || volba > 4).

  • Použito trim() pro odstranění mezer z uživatelského vstupu.

  • Výpis je formátován do přehledného vícerádkového textu.

  • Kód zůstává srozumitelný, ale zároveň je flexibilnější (např. pro rozšíření nabídky).