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.
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:
| Procedure | Wat ze doet | Uitvoer |
|---|---|---|
VoegKlantToe | Leest een naam en zet die achteraan de rij (Enqueue) | <naam> is toegevoegd aan de wachtrij. |
BedienKlant | Helpt de eerste klant in de rij (Dequeue) | Klant <naam> is bediend. of Er zijn geen klanten in de wachtrij. |
ToonAantalKlanten | Toont 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 metCountof de rij niet leeg is, voor jeDequeueaanroept.
Per bewerking eerst een regel met het cijfer van je keuze. Voor optie 1 volgt op de volgende regel de naam van de klant.
Telkens het menu, gevolgd door de uitvoer van de gekozen bewerking.
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.