Inleiding

In deze oefening maak je een programma waarmee de gebruiker positieve gehele getallen kan ingeven. Nadien kan de gebruiker de lijst met ingegeven getallen bekijken en eventueel getallen verwijderen.

Opdracht

Ingave getallen

Bij het opstarten van het programma vraag je de gebruiker om een getal in te geven:

Geef een getal in:

De invoer van de gebruiker wordt toegevoegd aan een List<int>. Deze vraag wordt herhaald tot de gebruiker een negatief getal ingeeft. Alle ingegeven getallen worden toegevoegd aan de List<int>.

Na de ingave van een negatief getal start de 2de fase van het programma. Hierbij wordt er een keuzemenu getoond tot de gebruiker kiest om het programma te stoppen door x in te geven.

Tonen keuzemenu

Je schrijft een methode KeuzeMenu(). Deze methode toont een keuzemenu en registreert de invoer van de gebruiker.

De methode geeft een string terug met de keuze van de gebruiker.

Maak een keuze:
a: lijst afdrukken
b: getal verwijderen
x: programma stoppen

Binnen in deze methode zorg je ook voor de validatie. Zo wordt het keuzemenu opnieuw getoond als de gebruiker een ongeldige keuze maakt. De invoer van de gebruiker wordt niet hoofdlettergevoelig gevalideerd. Dit wil zeggen dat de gebruiker zowel een kleine als een hoofdletter mag ingeven.

Indien de gebruiker een ongeldige keuze maakt, dan wordt het volgende getoond:

Ongeldige keuze.

Nadien wordt het keuzemenu opnieuw getoond.

Lijst afdrukken

Je schrijf een methode LijstAfdrukken(). Deze methode toont de lijst met ingegeven getallen. Deze methode heeft als parameter een List<int> met de ingegeven getallen.

De lijst wordt afgedrukt met behulp van een foreach-lus.

Je drukt de lijst af in de volgende vorm:

De lijst bevat volgende getallen:
1,2,3,4.

Let op: de laatste komma wordt niet afgedrukt maar vervangen door een punt.

TIP

Je doet dit door in de foreach-lus een if-statement te gebruiken. Je gebruikt de if-statement om te controleren of het huidige element het laatste element is. Indien dit het geval is, dan druk je een punt af. Indien dit niet het geval is, dan druk je een komma af.

Getal verwijderen

Indien de gebruiker kiest voor b dan vraag je de gebruiker om een getal in te geven dat hij/zij wil verwijderen:

Welk getal wenst u te wissen?

Indien dit getal in de lijst voorkomt, dan wordt het verwijderd en toon je

Het getal [getal] is verwijdert uit de lijst.

Indien dit getal niet in de lijst voorkomt, dan wordt het volgende getoond:

Het getal [getal] kwam niet voor in de lijst:
//afdruk van de lijst met getallen via de methode LijstAfdrukken()

Programma stoppen

Indien de gebruiker kiest voor x dan wordt het programma gestopt.

Test

Dodona zal de invoer van de gebruiker simuleren. De invoer die gebruikt wordt staat in de eerste kolom van de tabel. De tweede kolom bevat de verwachte uitvoer.

Output Input
Geef een getal in:  
  2
Geef een getal in:  
  3
Geef een getal in:  
  4
Geef een getal in:  
  7
Geef een getal in:  
  9
Geef een getal in:  
  3
Geef een getal in:  
  4
Geef een getal in:  
  -1
Maak een keuze:  
a: lijst afdrukken  
b: getal verwijderen  
x: programma stoppen  
  a
2,3,4,7,9,3,4.  
Maak een keuze:  
a: lijst afdrukken  
b: getal verwijderen  
x: programma stoppen  
b  
Welk getal wenst u te wissen?  
2 2
Het getal 2 is verwijdert uit de lijst.  
Maak een keuze:  
a: lijst afdrukken  
b: getal verwijderen  
x: programma stoppen  
  a
3,4,7,9,3,4.  
Maak een keuze:  
a: lijst afdrukken  
b: getal verwijderen  
x: programma stoppen  
b b
Welk getal wenst u te wissen?  
  8
Het getal 8 kwam niet voor in de lijst:  
De lijst bevat volgende getallen:  
3,4,7,9,3,4.  
Maak een keuze:  
a: lijst afdrukken  
b: getal verwijderen  
x: programma stoppen  
  X