Twee prompts bij deze proef. Met Coach krijg je hulp terwijl je de proef maakt, zonder code. Met Quoteer laat je je afgewerkte code streng verbeteren, volgens de puntenverdeling en het boeteblad.
Let op: de quoteerprompt is recent gemaakt en werd niet gebruikt bij de originele proef. De score die je ermee krijgt, zegt dus niets over de scores van toen. Had de proef geen puntenverdeling, dan is die achteraf toegevoegd.
Inleiding
Helaas, de Mac-DamsCamp slaagt niet aan. Toch heeft APDonalds™ je gevraagd om hun kassa-software grondig te vernieuwen. Aan jou de taak om de bestelling van een hamburger, met optioneel drank en frietjes, te stroomlijnen. Go get’m!
Basis werking
Hier de algemene flow van de applicatie (merk op dat de methoden BestelFrietjes,BestelDrinken en BerekenTotaal allemaal vanuit BestelHamburger worden aangeroepen, wat later wordt uitgelegd)

De gebruiker kan de applicatie niet afsluiten: ze blijft bestellingen opnemen tot er 100 zijn.
In de hoofdapplicatie bewaar je in een array (met grootte 100) van doubles telkens het resultaat van de BestelHamburger-methode. (met deze array doe je voor de rest niets).
Methoden (10 p)
BestelHamburger (3p)
- Deze methode toont het menu( zie onderaan) en heeft een double als resultaat. De methode vraagt eerst welke hamburger de gebruiker wenst. De gebruiker voert een string in voor z’n keuze (“gewoon”, “fish”, “veggie”). Zolang de gebruiker geen juist antwoord geeft wordt de vraag opnieuw gesteld en de input uitgelezen.
- Vervolgens dient de gebruiker met “j” of “n” te antwoorden of deze frietjes wilt .Indien ja dan wordt de methode “BestelFrietjes” aangeroepen.
- Vervolgens dient de gebruiker met “j” of “n” te antwoorden of deze frisdrank wenst. Indien ja dan wordt de methode “BestelDrinken” aangeroepen.
- Finaal roept deze methode de methode BerekenTotaal aan en zal alle verzamelde informatie aan deze methode meegeven (zie verder). Het resultaat van BerekenTotaal (een double) wordt teruggegeven als resultaat van deze methode.
BestelFrietjes (1p)
Deze methode vraagt hoeveel frietjes de gebruiker wenst en zal het resultaat (een getal) teruggeven als resultaat. De gebruiker voert een getal in tussen 1 en 10 (geen controle nodig) en dit getal geeft deze methode terug.
BestelDrinken (2p)
De methode vraagt welke frisdrank de gebruiker wenst (zie menu), wederom voert de gebruiker een getal in. Dit getal wordt omgezet naar een enum van het type Frisdranken (met als waarden Geen, Water, Fanta, Cola) dat zal teruggeven als resultaat van de methode. De waarde Geen staat voor een bestelling zonder drank en kan in deze methode niet gekozen worden.
BerekenTotaal (4p)
Deze methode geeft de prijs als double tot 2 cijfers na de komma op het scherm weer en zal deze waarde ook als return teruggeven. De methode aanvaardt volgende parameters:
- hamburger, string, verplicht
- aantalfrietjes, int, optioneel (standaard: 1)
- drank, enum type Frisdranken, optioneel (standaard: Geen)
Volgende menukaart wordt gebruikt om met voorgaande informatie de totaalprijs te bereken.
De menukaart:
- Gewone hamburger: €5
- Fishburger: €6
- Veggieburger: €3
- Water €2
- Fanta €3
- Cola €3
- Frietjes: €2 per frietje
Promoties
Volgende promoties zijn actief en worden toegepast indien relevant:
- Box: Indien de gebruiker én frisdrank én frietjes besteld krijgt hij 5€ korting op de totaalprijs.
- Hipster: Indien de gebruiker Water, een Veggieburger en 1 frietje besteld krijgt hij €3 korting op de totaalprijs.
De promoties gelden niet samen: een bestelling krijgt hoogstens één promotie. Voldoet een bestelling aan Hipster, dan krijgt ze enkel Hipster (en dus niet ook Box).
Indien de gebruiker een promotie heeft gekozen dan wordt dit op het scherm getoond vlak voor de prijs wordt getoond.
Uitbreidingen (2p)
Voeg volgende uitbreidingen toe aan de applicatie.
Visualisatie bestelling (2p): In de methode BerekenTotaal wordt de bestelling gevisualiseerd als volgt: * Hamburger wordt voorgesteld als de letter “H” met als achtergrond groen bij gewone hamburger, blauw voor fish, rood voor veggie. * Het aantal frietjes wordt voorgesteld als evenveel keer de letter “I” (hoofdletter i) als er frietjes zijn besteld. * De frisdrank wordt voorgesteld door een letter (“W” voor water, “F” voor Fanta, “C” voor cola)
Voorbeeld voor iemand met fishburger, 3 frietjes en fanta:
HIIIF
(de H heeft een blauwe achtergrond)
Vervolgens wordt de eventuele promotievermelding getoond, en daarna de prijs.
Deze oplossing is afgeschermd.
Studenten krijgen de sleutel van hun lesgever. Heb je de sleutel al eens op dit toestel
gebruikt, dan verschijnt de oplossing hier vanzelf.