====== Bankomat ====== Simulátor bankomatu. Pro připomenutí jak bankomat funguje - [[http://www.moneymatterstome.co.uk/interactive-workshops/atm.htm|odkaz na jiný simulátor na webu]] (ale ten náš bude lepší! ;-)) ===== Základní požadavky ===== - Zadání čísla karty/účtu (karet bude bankomat znát více než jeden konkrétní kus) - Ověření PINu (klient jej zadává na přes "numerická tlačítka") - Pozdravení klienta jeho jménem uváděným na kartě - Volba činnosti z nabídky výběr / zůstatek - Realizace výběru formou výběru přednastavených částek z bočních tlačítek (kontrola zůstatku + odečtení částky od zůstatku karty) - "Tisk" účtenky ve formě uložení textového souboru uctenka.txt s číslem karty, jménem vlastníka, vybíranou částkou a novým zůstatkem. - Změna PINu ===== Bonusová rozšíření ===== * B1: Načítání "konfigurace" (čísla, piny, zůstatky, jména) jednotlivých účtů z textového souboru (místo toho, že jsou napevno v kódu) - zvolte si vhodný formát textového souboru * B2: Uložení "stavu bankomatu" (aktuální sada účtů, jejich zůstatků atd.) do souboru (stačí pomocí serializace) tak, aby při příštím spuštění aplikace byla zase načtena * B3: Možnost výběru "jiné částky", kdy klient zadá částku pomocí numerických tlačítek * B4: Určení, které bankovky budou použity pro výběr dané částky (navazuje na předchozí rozšíření) - do uctenka.txt bude uložen i seznam a množství vydaných bankovek (např. při výběru 1800 Kč bude vytištěno "1x 1000 Kč, 1x 500 Kč, 2x 200Kč") s tím, že bankomat bude při vydávání volit vždy co nejvyšší bankovky (tedy při výběru např. 600 Kč raději 600=500+100 než 600=200+200+200). * B5: Evidence množství platidel v bankomatu a vydávání bankovek podle možností (navazuje na předchozí rozšíření) - např. pokud dojdou během provozu bankomatu 500 Kč bankovky, bude bankomat v případě výběru částky 600 Kč volit variantu 600=200+200+200, pokud dojdou i 200 Kč, tak 600=100+100+100+100+100+100 - počáteční množství bankovek jednotlivých nominálních hodnot může být zvoleno napevno v kódu (jednodušší varianta) nebo načteno při spustění ze souboru bankovky.txt (těžší varianta, zvolte si vhodný formát textového souboru) ===== "Obrazovky" - "Operace" ===== - vstupní * žádné operace - po autorizaci kartou ("Vítejte pane ...") * Výběr hotovosti * Zobrazit zůstatek * Vytisknout zůstatek (na "tiskárně", tj. do souboru uctenka.txt) * Změnit PIN * Konec (ukončit práci s bankomatem, vysunout kartu) - Výběr hotovosti * 200 * 400 * 600 * 800 * 1000 * 2000 * Jiná částka * Storno - Změnit PIN * žádné operace (zadává se nový PIN na num. klávesnici) - ostatní * Pokračovat novou operací * Konec (ukončit práci s bankomatem, vysunout kartu) ===== Harmonogram ===== * týden 13. 11. - odevzdání úlohy (nejpozději den před svým cvičením odeslat mailem, na cvičení osobně předvést) ===== Screenshot ===== {{bankomat.png|Screenshot}} ===== "Hinty" ===== ===== FAQ ===== * Jak nastavit vycentrovani JLabelu lblObrazovka.setHorizontalAlignment(JLabel.CENTER);