Gebruik in alle oefeningen string interpolatie ($) om variabelen en berekeningen in tekst te plaatsen. De +-operator gebruik je enkel om een lange tekst over meerdere codelijnen te splitsen.
Mad Libs (Essential)
MadLibs is een populair woordspelletje waarbij de gebruiker een aantal verschillende woorden moet opgeven. Vervolgens worden deze woorden in een verhaal geplaatst dat zo plots erg grappig kan worden.

In deze oefening vraag je aan de gebruiker volgende zaken:
- Een naam (bv. Jos)
- Een zelfstandig naamwoord (bv. bal)
- Een adjectief (bv. groene)
- Een werkwoord (bv. springen)
Vervolgens worden deze woorden in volgende zin geplaatst en aan de gebruiker getoond (gebruik hier string interpolation voor).
Op een dag ging [naam] naar de AP Hogeschool. Hij zag daar een [adjectief] [zelfstandig naamwoord] en vond dat zo grappig dat hij begon te [werkwoord].
Voorbeeld werking:
Geef een naam:
>Jos
Geef een zelfstandig naamwoord:
>bal
Geef een adjectief:
>groene
Geef een werkwoord:
>springen
Hier komt het!
Op een dag ging Jos naar de AP Hogeschool. Hij zag daar een groene bal en vond dat zo grappig dat hij begon te springen.
Deze oplossing is afgeschermd.
Studenten krijgen de sleutel van hun lesgever. Heb je de sleutel al eens op dit toestel
gebruikt, dan verschijnt de oplossing hier vanzelf.
Dertien in een dozijn (Essential)
Een klassieker (youtube-filmpje).
Schrijf een applicatie die berekent hoeveel dozen van 8 eieren je volledig kan vullen en hoeveel eieren je dan nog zal over hebben. Gebruik ook nu string interpolation in de finale uitvoer.
Bovenaan je programma schrijf je:
const int doosGrootte = 8;
int aantalEieren = 124;Met deze startinvoer (test ook met andere getallen!) moet je volgende uitvoer krijgen.
124 eieren passen in 15 dozen van doosgrootte:8. Daarbij zal je nog 4 eieren over hebben.
Test of je applicatie ook werkt met andere aantal eieren én doosgrootte.
In deze oefening moet je gebruik maken van je kennis van het vorige hoofdstuk, waaronder:
- De modulo operator.
- Datatypes en wat de impact ervan is op onder andere de deling (twee integers delen geeft…een integer!).
Deze oplossing is afgeschermd.
Studenten krijgen de sleutel van hun lesgever. Heb je de sleutel al eens op dit toestel
gebruikt, dan verschijnt de oplossing hier vanzelf.
Escape conversatie (Essential)
Gegeven volgende code:
string personage1 = "Alice";
string personage2 = "Bob";
string dialoog = $"X";
Console.WriteLine(dialoog);Zorg ervoor dat volgende dialoog op het scherm, met juiste formatering getoond wordt. Je mag enkel de tekst tussen de aanhalingstekens (in de plaats van X) van de variabele dialoog gebruiken (en zal dus escape characters nodig hebben.):
Alice: "Hoe gaat het met je?"
Bob: "Goed, dank je! Hoe gaat het met jou?"
Alice: "Ook goed, bedankt dat je het vraagt."
Gebruik \t om de tekst van Bob te doen inspringen. Merk op dat de tabgrootte verschillend kan zijn (wat geen probleem is) dan wat je hier als voorbeeld ziet.
Deze oplossing is afgeschermd.
Studenten krijgen de sleutel van hun lesgever. Heb je de sleutel al eens op dit toestel
gebruikt, dan verschijnt de oplossing hier vanzelf.
Systeem informatie (Essential)
Maak een applicatie die de belangrijkste computer-informatie (geheugen, etc) aan de gebruiker toont m.b.v. de Environment. Zoals je ziet wordt het geheugen in bytes teruggegeven. Zorg ervoor dat het geheugen steeds in mega of gigabytes op het scherm wordt getoond. Toon minstens volgende zaken:
ProcessorCountWorkingSet (in MB en GB)MachineNameUserNameis64OperatingSystem
Voorbeeld uitvoer:
Systeeminformatie voor admin op damsPowahPC:
---------------------------------------------------
Aantal processors: 8
64-bit besturingssysteem: True
Huidige geheugengebruik: 23.00 MB (0.02 GB)
---------------------------------------------------
Gebruik string formatering (m.b.v. met F2) om de output tot 2 cijfers na de komma op het scherm te tonen.
Deze oplossing is afgeschermd.
Studenten krijgen de sleutel van hun lesgever. Heb je de sleutel al eens op dit toestel
gebruikt, dan verschijnt de oplossing hier vanzelf.
Systeem informatie Deel 2 (PRO-uitbreiding)
Ook informatie over de harde schijven kan je verkrijgen (in bits). Dit vereist wel dat je bovenaan je programma volgende lijn bijschrijft: using System.IO.

Vervolgens kan je in je programma schrijven:
long cdriveinbytes = DriveInfo.GetDrives()[0].AvailableFreeSpace;
long totalsize = DriveInfo.GetDrives()[0].TotalSize; De lijn met using is om aan te geven dat we iets uit de System.IO bibliotheek nodig hebben, namelijk DriveInfo. Schrijven we dat niet dan moeten we in onze code DriveInfo aanroepen met z’n volledige path: System.IO.DriveInfo....
De 0 tussen rechte haakjes is de index van welke schijf je informatie wenst. 0 is de eerste harde schijf, 1 de tweede, enzovoort.
Vraag aan de gebruiker het nummer van de harde schijf waar meer informatie over moet getoond worden.
Opgelet: sta toe dat de gebruiker 1 voor de eerste harde schijf mag gebruiken, 2 voor de tweede, enzovoort. Je zal dus in code nog manueel 1 moeten aftrekken van de invoer van de gebruiken. Bv:
int invoer=int.Parse(Console.ReadLine()) - 1;
long totalsize = DriveInfo.GetDrives()[invoer].TotalSize; Deze oplossing is afgeschermd.
Studenten krijgen de sleutel van hun lesgever. Heb je de sleutel al eens op dit toestel
gebruikt, dan verschijnt de oplossing hier vanzelf.
Unicode Art
Genereer je naam in Unicode Art met een van de vele online generators. Toon deze art (m.b.v. WriteLine of Write) aan de start van een van je bestaande programma’s, zodat nu je naam wordt getoond wanneer het programma start, gevolgd door de rest.
Deze oplossing is afgeschermd.
Studenten krijgen de sleutel van hun lesgever. Heb je de sleutel al eens op dit toestel
gebruikt, dan verschijnt de oplossing hier vanzelf.
Boardingpass (Final Essentials)
De String Interpolation (met $ ) is superhandig om data op een propere manier op het scherm te tonen. Maak een applicatie die de gebruiker om vluchtinformatie vraagt (naam, vertrek, bestemming, gate).
Vervolgens toon je een Boardingpass op het scherm. Gebruik hierbij: 1. String Interpolation om de data in de tekst te verwerken. 2. Escape karakters zoals \t (tab) en \n (nieuwe lijn) om de tekst netjes uit te lijnen, zonder dat je zelf spaties moet tellen. 3. Environment.UserName om onderaan te tonen wie de pass heeft afgedrukt.
Voorbeeld output: (tekst na > is invoer)
Boardingpass generator
**********************
Naam passagier:
>Joske Vermeulen
Vertrekplaats:
>Brussel (BRU)
Bestemming:
>New York (JFK)
Gate:
>A45
(Scherm wordt leeg gemaakt...)
****************************************
BOARDINGPASS
****************************************
Passagier: Joske Vermeulen
Van: Brussel (BRU)
Naar: New York (JFK)
Gate: A45
Vluchtgegevens gecontroleerd door: admin
****************************************
Gebruik \t na de dubbele punten om de tekst mooi onder elkaar te krijgen. Vergeet niet Console.Clear() te gebruiken om het scherm leeg te maken.
Deze oplossing is afgeschermd.
Studenten krijgen de sleutel van hun lesgever. Heb je de sleutel al eens op dit toestel
gebruikt, dan verschijnt de oplossing hier vanzelf.
Shell-starter (PRO-oefening)
Je kan de output van een Process.Start() programma naar je console scherm sturen. Dit vereist wat meer code. Volgend voorbeeld zal de output van het commando ipconfig /all op het scherm tonen:
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = "ipconfig";
process.StartInfo.Arguments = "/all";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.Start(); //start process
// Read the output (or the error)
string output = process.StandardOutput.ReadToEnd(); //normal output
Console.WriteLine(output);
string err = process.StandardError.ReadToEnd(); //error output (if any)
Console.WriteLine(err);
//Continue
Console.WriteLine("Klaar");Let er op dat dit voorbeeld niet perfect werkt met een shell-commando dat even duurt. Denk bijvoorbeeld aan ping. De output komt namelijk pas op het scherm als het commando is afgelopen. Test zelf maar eens!
Maak enkele kleine C# programma’s die bepaalde shell-commando’s zullen uitvoeren, eventueel na input van de gebruiker. Enkele nuttige shell-commando’s in de netwerk-sfeer zijn bijvoorbeeld:
hostname
arp -a
getmac
nslookup google.com
netstat
Andere toffe commando’s kunnen zijn:
chrome.exe ap.be
notepad mytest.txt
Of de naam van een bestand dat je wilt openen, maar dan met het hele path:
c:\Temp\mydocument.docx
Deze oplossing is afgeschermd.
Studenten krijgen de sleutel van hun lesgever. Heb je de sleutel al eens op dit toestel
gebruikt, dan verschijnt de oplossing hier vanzelf.