Skip to content

Instantly share code, notes, and snippets.

@pjastr
Last active February 7, 2018 20:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save pjastr/4ea30d05113a2c51da6f67b2a03e7b4f to your computer and use it in GitHub Desktop.
Save pjastr/4ea30d05113a2c51da6f67b2a03e7b4f to your computer and use it in GitHub Desktop.

Stwórz program symulujący działanie kasy fiskalnej.

Przykładowy ekran startowy:

Start

  1. stwórz klasę Produkt z polami nazwa, cenaJednostkowa, ilosc
  2. stwórz klasę Koszyk z polem zakupy, pole ma być referencyjne typu List<Produkty> (ma być to lista na produkty)
  3. stwórz klasę Aplikacja z polem klawisz, stwórz metodę WczytajKlawisz(), która będzie odpowiadać za wyświetlenie ekranu startowego z legendą i wczytanie klawisza
  4. 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
  5. w pliku Program w metodzie Main stwórz obiekt z klasy aplikacji i wywołaj dla niego metody WczytajKlawisz() i WykonajDział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.
  6. skopiowanie ostatnio wprowadzonego produktu ma wykorzystywać interejs ICloneable podpięty do klasy Produkt
  7. 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ł)
  8. skasowanie produktu z listy ma polegać na wczytaniu z klawiatury indeksu, a potem wykasowanie pozycji odpowiadającej indeksowi
  9. "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.
  10. 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment