Drop hier links of afbeeldingen om ze aan de editor toe te voegen.

Beheer met een Queue<string> een wachtrij van klanten in een winkel. Klanten komen binnen en sluiten achteraan aan; ze worden geholpen volgens het FIFO-principe: wie eerst kwam, wordt eerst bediend. Het programma toont een menu, leest een keuze, en voert de bijhorende bewerking uit, tot je kiest om te stoppen.

Opgave

Het hoofdprogramma met het menu is al gegeven (zie het beginbestand). Het drukt telkens het menu af, leest je keuze, en roept de juiste procedure op:

1. Voeg klant toe
2. Bedien volgende klant
3. Toon aantal klanten
4. Stop

Jij hoeft enkel de drie procedures in te vullen. Ze werken allemaal op dezelfde wachtrij wachtrij:

ProcedureWat ze doetUitvoer
VoegKlantToeLeest een naam en zet die achteraan de rij (Enqueue)<naam> is toegevoegd aan de wachtrij.
BedienKlantHelpt de eerste klant in de rij (Dequeue)Klant <naam> is bediend. of Er zijn geen klanten in de wachtrij.
ToonAantalKlantenToont hoeveel klanten er nog wachten (Count)Aantal klanten in de wachtrij: <aantal>

De procedure bij optie 1 heeft een naam nodig. Die lees je met Console.ReadLine() in de procedure zelf (op de regel na de keuze). Bij optie 2 controleer je eerst met Count of de rij niet leeg is, voor je Dequeue aanroept.

Invoer

Per bewerking eerst een regel met het cijfer van je keuze. Voor optie 1 volgt op de volgende regel de naam van de klant.

Uitvoer

Telkens het menu, gevolgd door de uitvoer van de gekozen bewerking.

Voorbeeld

Invoer:

1
Anke
3
4

Uitvoer:

1. Voeg klant toe
2. Bedien volgende klant
3. Toon aantal klanten
4. Stop
Anke is toegevoegd aan de wachtrij.
1. Voeg klant toe
2. Bedien volgende klant
3. Toon aantal klanten
4. Stop
Aantal klanten in de wachtrij: 1
1. Voeg klant toe
2. Bedien volgende klant
3. Toon aantal klanten
4. Stop

Anke kwam eerst en wordt dus eerst geholpen: dat is het FIFO-principe.