Stwórz program symulujący działanie kasy fiskalnej.
Przykładowy ekran startowy:
- stwórz klasę
Produkt
z polaminazwa
,cenaJednostkowa
,ilosc
- stwórz klasę
Koszyk
z polemzakupy
, pole ma być referencyjne typuList<Produkty>
(ma być to lista na produkty) - stwórz klasę
Aplikacja
z polemklawisz
, stwórz metodęWczytajKlawisz()
, która będzie odpowiadać za wyświetlenie ekranu startowego z legendą i wczytanie klawisza - stwórz metodę
WykonajDziałanie()
, która w zależności od wczytanego klawisza wykona metody określone w kolejnych punktach dodawanie produktu do koszyka ma polegać na stworzeniu obiektu z klasy Produkt z odpowiednimi parametrami oraz dodanie go na listę w polu zakupy - w pliku
Program
w metodzieMain
stwórz obiekt z klasy aplikacji i wywołaj dla niego metodyWczytajKlawisz()
iWykonajDziałanie()
. Uzupełnij na “szybko” kod, aby program się kompilował. Potem zrób tak by na konsoli była “legenda”, a wciśnięcie klawisza kończyło program. - skopiowanie ostatnio wprowadzonego produktu ma wykorzystywać interejs
ICloneable
podpięty do klasyProdukt
- pokazując zawartość dodać i wyświetlić dodatkową zmienną przechowującą łączną cenę za produkt np. Jabłko // Ilość/waga : 2 (kg) //cena jedn: 2,40 (zł) // Łącznie: 4,80 (zł)
- skasowanie produktu z listy ma polegać na wczytaniu z klawiatury indeksu, a potem wykasowanie pozycji odpowiadającej indeksowi
- "wydrukuj paragon" - zapisanie zawartości koszyka i sumy do zapłaty do pliku tekstowego (można wykorzystać wcześniejsze podpunkty), nazwą pliku ma być aktualna data i godzina pobrana z systemu w formacie DDMMYYYYGGHHSS. Po wydrukowaniu lista ma być wyczyszczona.
- dodanie nowego koszyka można uczynić na kilka sposobów (np. wyczyszczenielisty)
Jeśli masz czas, dodaj mechanizm sortowania zawartości koszyka po nazwie (alfabetycznie) lub od najdroższego.
Pamiętaj, aby tak rozplanować czas, by zakończyć ją w ciągu 2 godzin. Gotowy kod solucji prześlij jako oddzielne repozytorium do serwisu Github. Link do repozytorium wyślij na adres mailowy prowadzącego ćwiczenia.