Opgepast! Het lijkt erop dat je Dodona gebruikt binnen een andere webpagina waardoor mogelijk niet alles goed werkt. Laat dit weten aan de lesgever zodat die het probleem kan oplossen door een instelling in de leeromgeving aan te passen. Ondertussen kan je op deze link klikken om Dodona te openen in een nieuw venster.
Opgepast! De pagina kon niet volledig ingeladen worden, waarschijnlijk door een netwerkprobleem. Het kan zijn dat niet alle functionaliteit beschikbaar is. Probeer de pagina te verversen.
Takenwachtrij
Log in om je oplossingen te testen.
// Het hoofdprogramma met het menu is gegeven. Vul jij de drie procedures
// onderaan in. Ze werken op de wachtrij 'taskQueue' en de teller
// 'aantalToegevoegd' (hoeveel taken er al zijn aangemaakt).
Queue<string> taskQueue = new Queue<string>();
int aantalToegevoegd = 0;
bool stop = false;
while (!stop)
{
Console.WriteLine("1. Voeg taak toe");
Console.WriteLine("2. Verwerk volgende taak");
Console.WriteLine("3. Verwerk alle taken");
Console.WriteLine("4. Stop");
string keuze = Console.ReadLine();
if (keuze == null) break;
switch (keuze)
{
case "1": VoegTaakToe(); break;
case "2": VerwerkVolgendeTaak(); break;
case "3": VerwerkAlleTaken(); break;
case "4": stop = true; break;
default: Console.WriteLine("Ongeldige optie."); break;
}
}
// Verhoog 'aantalToegevoegd' met 1 en maak een taaknaam "Taak <nummer>".
// Zet die achteraan de wachtrij (Enqueue) en druk af: <taak> toegevoegd.
void VoegTaakToe()
{
// TODO: implementeer deze procedure
}
// Is de wachtrij niet leeg (Count > 0)? Haal dan de voorste taak weg (Dequeue)
// en druk af: <taak> - Verwerkt
// Is de wachtrij leeg: Geen taken om te verwerken.
void VerwerkVolgendeTaak()
{
// TODO: implementeer deze procedure
}
// Verwerk taken tot de wachtrij leeg is: haal telkens de voorste taak weg
// (Dequeue) en druk af: <taak> - Verwerkt
// Druk daarna af: Alle taken zijn verwerkt.
void VerwerkAlleTaken()
{
// TODO: implementeer deze procedure
}