Warning! It seems that you are using Dodona within another webpage, so not everything may work properly. Let your teacher know so that he can solve the problem by adjusting a setting in the learning environment. In the meantime, you can click this link to open Dodona in a new window.
Warning! The page was not fully loaded, probably because of a network issue. It could be that not all functionalities work as expected. Please try reloading the page.
Browsergeschiedenis
Sign in to test your solution.
// Het hoofdprogramma met het menu is gegeven. Vul jij de drie procedures
// onderaan in. Ze werken op de stapel 'geschiedenis' en de variabele
// 'huidigePagina' (de pagina waar je nu bent).
Stack<string> geschiedenis = new Stack<string>();
string huidigePagina = null;
bool stop = false;
while (!stop)
{
Console.WriteLine("1. Bezoek pagina");
Console.WriteLine("2. Ga terug");
Console.WriteLine("3. Toon geschiedenis");
Console.WriteLine("4. Stop");
string keuze = Console.ReadLine();
if (keuze == null) break;
switch (keuze)
{
case "1": BezoekPagina(); break;
case "2": GaTerug(); break;
case "3": ToonGeschiedenis(); break;
case "4": stop = true; break;
default: Console.WriteLine("Ongeldige optie."); break;
}
}
// Lees de volgende regel (de nieuwe pagina). Is er al een huidige pagina
// (huidigePagina != null), duw die dan op de stapel 'geschiedenis' (Push).
// Maak daarna de nieuwe pagina de huidige pagina en druk af:
// Huidige pagina: <pagina>
void BezoekPagina()
{
// TODO: implementeer deze procedure
}
// Is de geschiedenis niet leeg (Count > 0)? Haal dan de bovenste pagina van de
// stapel (Pop), maak die de huidige pagina en druk af: Huidige pagina: <pagina>
// Is de geschiedenis leeg: Geen vorige pagina's in de geschiedenis.
void GaTerug()
{
// TODO: implementeer deze procedure
}
// Druk eerst af: Geschiedenis:
// daarna elke pagina in 'geschiedenis' op een eigen regel (een Stack doorloopt
// ze van de meest recente naar de oudste).
void ToonGeschiedenis()
{
// TODO: implementeer deze procedure
}