Je bouwt een digitale kassabon zoals die van een supermarkt. De Kassabon-klasse slaat artikelen en hun prijzen op in twee parallelle lijsten (List<string> en List<int>). Een read-only computed property berekent automatisch het totaal. Ongeldige prijzen worden geweigerd via validatie. Dit combineert OOP, collections, lussen en string-operaties.
Schrijf de klasse Kassabon volledig vanuit het niets. De Main-methode is al ingevuld.
Properties:
WinkelNaam (type string, publiek leesbaar, private set — ingesteld via de constructor)AantalArtikelen (type int, read-only — aantal elementen in de artikelenlijst)Totaal (type int, read-only computed — som van alle prijzen in de prijzenlijst)Private velden:
artikelen — een List<string> met de namen van de artikelenprijzen — een List<int> met de overeenkomstige prijzen in euroConstructor: Kassabon(string winkelNaam)
Methoden:
ToevoegenArtikel(string artikel, int prijs):
prijs > 0Ongeldige prijs voor [artikel]: prijs moet groter zijn dan 0.ToonBon():
=== Kassabon [WinkelNaam] ===(geen artikelen)[artikel]: [prijs] euroTotaal: [Totaal] euroReset():
Kassabon gewist.De Main-methode is al ingevuld en mag je niet aanpassen.
=== Kassabon Colruyt ===
Melk: 2 euro
Brood: 3 euro
Kaas: 5 euro
Totaal: 10 euro
Ongeldige prijs voor Gratis item: prijs moet groter zijn dan 0.
=== Kassabon Colruyt ===
Melk: 2 euro
Brood: 3 euro
Kaas: 5 euro
Appels: 4 euro
Totaal: 14 euro
Aantal artikelen: 4
Kassabon gewist.
=== Kassabon Colruyt ===
(geen artikelen)
Totaal: 0 euro
| Puntenverdeling | Te behalen punten |
|---|---|
| Properties + constructor | 2 |
| Read-only property Totaal | 2 |
| Methode ToevoegenArtikel() + validatie | 2 |
| Methode ToonBon() correct | 3 |
| Methode Reset() + correcte uitvoer | 1 |
| Totaal | 10 |