Oefeningen H3
Last updated
Last updated
Vanaf dit hoofdstuk wordt verwacht dat je steeds string interpolatie gebruikt om strings samen te voegen, en dus niet meer met +
werkt!
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).
Voorbeeld werking:
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:
Met deze startinvoer (test ook met andere getallen!) moet je volgende uitvoer krijgen.
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!).
Gegeven volgende code:
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.):
Gebruik 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.
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:
ProcessorCount
WorkingSet (in MB en GB)
MachineName
UserName
is64OperatingSystem
Voorbeeld uitvoer:
Gebruik string formatering (m.b.v. met F2
) om de output tot 2 cijfers na de komma op het scherm te tonen.
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.
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:
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:
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:
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:
Andere toffe commando's kunnen zijn:
Of de naam van een bestand dat je wilt openen, maar dan met het hele path:
Gebruik je kennis van het verschil tussen Console.Write
en Console.WriteLine
, alsook de werking van kleuren in console-applicaties, om je Unicode-art naam van de eerdere oefening nu van kleur te voorzien. Zorg ervoor dat minstens 1 letter in een andere kleur is.
Dit is een redelijke lange oefening, doe deze best op het einde.
Deze oefening kan je op 2 manieren oplossen:
Je gebruikt een combinatie van Write
en Console.SetCursorPosition
Je knipt je tekening op in stukken die je met verschillende Write
en WriteLines
op het scherm zet. Volgend voorbeeld toont bijvoorbeeld hoe je een vierkantje van sterretjes tekent waarbij het midden van het vierkant rood is: