Beschrijving

Vervolg op ConcertPromoter_Deel1, in deze oefening wordt een klasse gemaakt die de ConcertPromotor klasse van de voorgaande oefening gebruikt om een concert te plannen en tickets te verkopen.

Opgave

Maak een klasse ConcertPromoterDemo dat je kan gebruiken voor het testen van de klasse ConcertPromoter. Voeg een main methode toe die het onderstaande scenario implementeert:

1 Lees naam band in en controleer de input (zie speciale gevallen).
2 Lees capaciteit van het concert in en controleer de input (zie speciale gevallen).
3 Lees prijs tickets via telefoon in en controleer de input (zie speciale gevallen).
4 Lees prijs tickets aan kassa in en controleer de input (zie speciale gevallen).
5 Vraag hoeveel tickets men wenst te kopen en controleer de input (zie speciale gevallen).
6 Verwerk input
    - Als de input een geldig getal is en na de aankoop zijn er nog kaarten beschikbaar:
        - voeg de aankoop toe
        - geef aan dat de aankoop is geregistreerd. De boodschap die wordt weergegeven geeft ook aan of het ging om een aankoop via de telefoon of aan de kassa.
        - geef aan hoeveel tickets er nog beschikbaar
        - ga terug naar stap 5
    - Als de input een geldig getal is en na de aankoop zijn er geen kaarten meer beschikbaar: 
        - voeg de aankoop toe
        - geef aan dat de aankoop is geregistreerd. De boodschap die wordt weergegeven geeft ook aan of het ging om een aankoop via de telefoon of aan de kassa.
        - geef aan dat er geen kaarten meer beschikbaar zijn
        - ga naar stap 7
    - Als de input "einde voorverkoop" is, beëindig de voorverkoop en ga naar stap 5
    - Als de input "einde verkoop" is, ga naar stap 7
7 Geef weer hoeveel tickets er nog over zijn en hoeveel omzet er is gemaakt

Voorbeeld

Geval 1: einde verkoop wordt ingegeven

Geef de naam van de band op:
The editors
Geef de capaciteit van het concert:
260
Geef hoeveel een ticket via de telefoon kost:
15
Geef hoeveel een ticket aan de kassa kost:
23
Hoeveel tickets wil je kopen?
7
Er zijn 7 tickets via de telefoon verkocht.
Er zijn nog 253 tickets beschikbaar.
Hoeveel tickets wil je kopen?
3
Er zijn 3 tickets via de telefoon verkocht.
Er zijn nog 250 tickets beschikbaar.
Hoeveel tickets wil je kopen?
20
Er zijn 20 tickets via de telefoon verkocht.
Er zijn nog 230 tickets beschikbaar.
Hoeveel tickets wil je kopen?
einde voorverkoop
Vanaf nu worden er enkel nog tickets aan de kassa verkocht!
Hoeveel tickets wil je kopen?
30
Er zijn 30 tickets aan de kassa verkocht.
Er zijn nog 200 tickets beschikbaar.
Hoeveel tickets wil je kopen?
1
Er zijn 1 tickets aan de kassa verkocht.
Er zijn nog 199 tickets beschikbaar.
Hoeveel tickets wil je kopen?
76
Er zijn 76 tickets aan de kassa verkocht.
Er zijn nog 123 tickets beschikbaar.
Hoeveel tickets wil je kopen?
einde verkoop
De verkoop van tickets is gedaan.
Er zijn nog 123 tickets over.
Het concert van The editors heeft een omzet van 2911 euro behaald.

Geval 2: alle tickets verkocht

Geef de naam van de band op:
The editors
Geef de capaciteit van het concert:
260
Geef hoeveel een ticket via de telefoon kost:
15
Geef hoeveel een ticket aan de kassa kost:
23
Hoeveel tickets wil je kopen?
270
Er zijn 260 tickets via de telefoon verkocht.
Er zijn nog 0 tickets beschikbaar.
De verkoop van tickets is gedaan.
Er zijn nog 0 tickets over.
Het concert van The editors heeft een omzet van 3900 euro behaald.

Speciale gevallen

Hou in je main methode ook rekening met de volgende speciale gevallen:

Geef de naam van de band:
      The        
De naam van de band moet minstens 4 karakter lang zijn zonder spaties in het begin of op het einde!
Geef de naam van de band:
Geef de capaciteit van het concert:
6
Er moeten minstens 10 mensen naar het concert kunnen komen!
Geef de capaciteit van het concert:
Geef aan hoeveel een ticket via de telefoon kost:
-6
Een ticket moet meer dan 0 euro kosten!
Geef aan hoeveel een ticket via de telefoon kost:
Hoeveel tickets wens je te kopen?
-3
Tickets worden niet teruggekocht!
Hoeveel tickets wens je te kopen?

Hierbij nog wat uitleg over de Dodona-testen voor deze oefening: