In dit deel zullen we bekijken hoe we ons programma dynamischer kunnen maken met behulp van het if-statement.
If
De if is een van de elementairste constructies in een programmeertaal. De syntax is als volgt:
Enkel indien de booleaanse expressie waar is, en dus true als resultaat heeft, zal de code binnen de accolades van het if-blok uitgevoerd worden. Indien de expressie niet waar is (false) dan wordt het blok overgeslagen en gaat het programma verder met de code eronder.
Een voorbeeld:
De uitvoer van dit programma zal zijn:
Indien number groter of gelijk aan 5 was dan zou er enkel B op het scherm zijn verschenen. De lijn Console.WriteLine("B") zal sowieso uitgevoerd worden zoals je ook kan zien aan de volgende flowchart:
if met een block
Het is aangeraden om steeds na de if-expressie met accolades te werken. Dit zorgt ervoor dat alle code tussen het block (de accolades) zal uitgevoerd worden indien de booleanse expressie waar was. Gebruik je geen accolades dan zal enkel de eerste lijn na de if uitgevoerd worden bij true.
Een voorbeeld:
De booleaanse expressie die je tussen de if haakjes plaats moet een stuk code zijn dat altijd een bool als resultaat teruggeeft.
We verwachten dat je if altijd met een block gebruikt, omdat dat leesbaarder is. De versie zonder block zien we als een stijlfout!
Veelgemaakte if-fouten
Er zijn enkele veelgemaakte fouten waar je op moet letten:
Appelen en peren vergelijken
De types in je booleanse expressie moeten steeds vergelijkbaar zijn. Volgende code is dus fout: if( "4" > 3) daar we hier een string met een int vergelijken.
Accolades vergeten
Accolades vergeten plaatsen om een codeblock aan te duiden, maar je code toch zodanig outlinen (met tabs) dat het lijkt of je een heel codeblock hebt. Het gevolg zal zijn dat enkel de eerste lijn na de if zal uitgevoerd worden indien true. Gebruiken we de if met block van daarnet maar zonder accolades dan zal de laatste lijn altijd uitgevoerd worden ongeacht de if:
Dit zal ervoor zorgen dat er eigenlijk geen codeblock bij de if hoort en je dus een nietszeggende if hebt geschreven. De code na het puntkomma zal uitgevoerd worden ongeacht de if:
Gebruik relationele operatoren
Met de relationele operatoren (==, !=, <, >, <= en >=) kunnen we complexere expressies schrijven die als uitkomst waar (true) of niet waar (false) geven.
Een voorbeeld:
Uitvoer van bovenstaande code zal zijn:
We kunnen ook meerdere expressies combineren zodat we complexere uitdrukkingen kunnen maken. Hierbij kan je gebruik maken van de logische operatoren (&&, ||, !) .
Een voorbeeld:
Uitvoer van dit programma zal zijn:
If/else
Met if/else kunnen we niet enkel zeggen welke code moet uitgevoerd worden als de conditie waar is maar ook welke specifieke code indien de conditie niet waar (false) is. Volgend voorbeeld geeft een typisch gebruik van een if/else structuur om 2 waarden met elkaar te vergelijken:
Kan je zelf een flowchart van bovenstaande code tekenen? Try it!
If/else if
Met een if/else if constructie kunnen we meerdere criteria opgeven die waar/niet waar moeten zijn voor een bepaald stukje code kan uitgevoerd worden. Sowieso begint men steeds met een if. Als men vervolgens een else if plaats dan zal de code van deze else if uitgevoerd worden enkel en alleen als de eerste expressie (van de if) niet waar was en de expressie van deze else if wel waar is.
Een voorbeeld:
Merk op dat else if niet meer is dan een verkorte schrijfwijze voor nesting van een if in een else-block.
Nesting
We kunnen met behulp van nesting ook complexere programma flows maken. Hierbij gebruiken we de accolades om het blok code aan te duiden dat bij een if/else if/else hoort. Binnen dit blok kunnen nu echter opnieuw if/else if/else structuren worden aangemaakt.
Volgende voorbeeld toont dit aan (bekijk wat er gebeurt als je emergencyValve aan closed gelijkstelt):
if (boolean expression)
{
// code hier moet uitgevoerd worden indien de booleaanse expressie waar is
}
Beslissingen intro
Nu we de elementaire zaken van C# en Visual Studio kennen is het tijd om onze programma's wat interessanter te maken. De ontwikkelde programma's tot nog toe waren steevast lineair van opbouw, ze werden lijn per lijn uitgevoerd zonder de mogelijkheid om de flow van het programma aan te passen. Het programma doorliep de lijnen braaf na elkaar en wanneer deze aan het einde kwam sloot het programma zich af.
Onze programma's waren met andere woorden niet meer dan een eenvoudige oplijstingen van opdrachten. Je kan het vergelijken met een lijst die je vertelt over hoe je een brood moet kopen: 1. Neem geld uit spaarpot 2. Wandel naar de bakker om de hoek 3. Vraag om een brood 4. Krijg het brood 5. Betaal het geld aan de bakker 6. Keer huiswaarts 7. Smullen maar
Een switch statement is een program-flow element om een veelvoorkomende constructie van if/if else...else elementen eenvoudiger te tonen. Vaak komt het voor dat we bijvoorbeeld aan de gebruiker vragen om een keuze te maken (bijvoorbeeld een getal van 1 tot 10, waarbij ieder getal een ander menu-item uitvoert van het programma), zoals:
Met een switch kan dit eenvoudiger. De syntax van een switch is een beetje specialer dan de andere programma flow-elementen (if, while, etc.), namelijk als volgt:
value is de waarde of variabele (beide mogen) die wordt gebruikt als test in de switch. Iedere case begint met het case keyword gevolgd door de waarde die value moet hebben om in deze case te springen. Na het dubbelpunt volgt vervolgens de code die moet uitgevoerd worden in deze case. De case zelf mag eender welke code bevatten (methoden, nieuwe program flow elementen, etc.), maar moet zeker afgesloten worden met het break keyword.
Tijdens de uitvoer zal het programma value vergelijken met iedere case constant van boven naar onder. Wanneer een gelijkheid wordt gevonden dan wordt die case uitgevoerd. Indien geen case wordt gevonden die gelijk is aan value dan zal de code binnen de default-case uitgevoerd worden (de else achteraan indien alle vorige if else-tests negatief waren).
Het menu van zonet kunnen we nu herschrijven naar een switch:
Opgelet:
De case waarden moeten literals zijn. Dit zijn waarden die je letterlijk uitschrijft, d.w.z. die je niet voorstelt als variabele (1, "1", 1.0, 1.d, '1', etc.)
Falthrough
Soms wil je dat dezelfde code uitgevoerd wordt bij 2 of meer cases. Je kan ook zogenaamde fallthrough cases beschrijven wat er als volgt uit ziet:
In dit geval zullen zowel de waarden 2 en 3 resulteren in de zin "Laden of opslaan gekozen" op het scherm.
int number = 3;
if ( number < 5 )
Console.WriteLine ("A");
Console.WriteLine("B");
A
B
if ( number < 5 )
{
Console.WriteLine ("C");
Console.WriteLine ("D");
}
if ( number < 5 )
Console.WriteLine ("C");
Console.WriteLine ("D");
if ( number < 5 );
Console.WriteLine ("C");
Console.WriteLine ("D");
int a, b, c;
a = 2;
b = 3;
if(a < b)
{
Console.WriteLine("a is less than b");
}
if(a == b)
{
Console.WriteLine("you won't see this");
}
Console.WriteLine();
c = a - b; // c contains -1
Console.WriteLine("c contains -1");
if(c >= 0)
{
Console.WriteLine("c is non-negative");
}
if(c < 0)
{
Console.WriteLine("c is negative");
}
Console.WriteLine();
c = b - a; // c now contains 1
Console.WriteLine("c contains 1");
if(c >= 0)
{
Console.WriteLine("c is non-negative");
}
if(c < 0)
{
Console.WriteLine("c is negative");
}
a is less than b
c contains -1
c is negative
c contains 1
c is non-negative
int a = 5, b = 5, c = 10;
if (a == b)
{
Console.WriteLine(a);
}
if ((a > c) || (a == b))
{
Console.WriteLine(b);
}
if ((a >= c) && (b <= c))
{
Console.WriteLine(c);
}
5
5
int x = 10;
if ( x > 9 )
{
Console.WriteLine ("x is greater than 9!");
}
else
{
Console.WriteLine ("x is less than 9!");
}
int x = 9;
if (x == 10)
{
Console.WriteLine ("x is 10");
}
else if (x == 9)
{
Console.WriteLine ("x is 9");
}
else if (x == 8)
{
Console.WriteLine ("x is 8");
}
int reactorTemp = 1500;
string emergencyValve = " ";
if (reactorTemp < 1000)
{
Console.WriteLine("Reactor temperature normal");
}
else
{
Console.WriteLine("Reactor temperature too high!");
if (emergencyValve == "closed")
{
Console.WriteLine("Reactor meltdown in progress!");
}
}
int option;
Console.WriteLine("Kies 1 voor afbreken, 2 voor opslaan, 3 voor laden:");
option = Convert.ToInt32(Console.ReadLine());
if (option == 1)
Console.WriteLine("Afbreken gekozen");
else if (option == 2)
Console.WriteLine("Opslaan gekozen");
else if (option == 3)
Console.WriteLine("Laden gekozen");
else
Console.WriteLine("Onbekende keuze");
switch (value)
{
case constant:
statements
break;
case constant:
statements
break;
default:
statements
break;
}
int option;
Console.WriteLine("Kies 1 voor afbreken, 2 voor opslaan, 3 voor laden:");
option = Convert.ToInt32(Console.ReadLine());
switch (option)
{
case 1:
Console.WriteLine("Afbreken gekozen");
break;
case 2:
Console.WriteLine("Opslaan gekozen");
break;
case 3:
Console.WriteLine("Laden gekozen");
break;
default:
Console.WriteLine("Onbekende keuze");
break;
}
switch (option)
{
case 1:
Console.WriteLine("Afbreken gekozen");
break;
case 2:
case 3:
Console.WriteLine("Laden of opslaan gekozen");
break;
default:
Console.WriteLine("Onbekende keuze");
break;
}
Booleanse logica en operators
Relationele operators
Om beslissingen te kunnen nemen in C# hebben we een nieuw soort operators nodig. Operators waarmee we kunnen testen of iets waar of niet waar is. Dit doen we met de zogenaamde relationele operators. En guess what, je kent die al van uit het lager! Enkel de "gelijk aan" ziet er iets anders uit dan we gewoon zijn:
C#-syntax
Betekenis
Logische operator
De logische EN, OF en NIET-operatoren die je kent van de booleaanse algebra kan je ook gebruiken in C#:
Je kan de niet-operator voor een expressie zetten om het resultaat hiervan om te draaien. Bijvoorbeeld:
Booleaanse expressies
Een booleaanse expressie is een stuk C# code dat een bool als resultaat zal geven.
De logische operators van hierboven zijn operators die een bool teruggeven. Ze zijn zogenaamde test-operators: ze testen of iets waar is of niet. "Is b kleiner dan c?" schrijf je dan als de booleaanse expressie: b<c
Test maar eens wat er op je scherm komt als je in code schrijft: Console.WriteLine(45<=55);.
Zoals verwacht zal er true op het scherm verschijnen.
Test jezelf
Wat zal de uitkomst zijn van volgende expressies? (protip: het zal steeds true of false zijn, niets anders)
3>2
4!=4
4<5 && 4<3
Voorgaande oefeningen komen uit een vorige kennistoets examen. Het is voornaam dat je dit soort expressies vlot kunt oplossen!
Kennisclip
enum
Enum datatypes
Delen van dit hoofdstuk komen uit Visual C# 2012 - De basis (Sander Gerz)
Dit is nog zo'n onderschat hoofdstuk. Enums zijn wat raar in het begin, maar van zodra je er mee weg bent zal je niet meer zonder kunnen!
De bestaansreden voor enums
Stel dat je een programma moet schrijven dat afhankelijk van de dag van de week iets anders moet doen. In een wereld zonder enums (enumeraties) zou je dit kunnen schrijven op 2 zeer foutgevoelige manieren: 1. Met een int die een getal van 1 tot en met 7 kan bevatten 2. Met een string die de naam van de dag bevat
Slechte oplossing 1: Met ints
De waarde van de dag staat in een variabele int dagKeuze. We bewaren er 1 in voor Maandag, 2 voor dinsdag, enzovoort.
Deze oplossing heeft 2 grote nadelen:
Wat als we per ongeluk dagKeuze een niet geldige waarde geven, zoals 9, 2000, -4, etc. ?
De code is niet erg leesbaar. dagKeuze==2? Was dat nu dinsdag of woensdag (want misschien was maandag 0 i.p.v. 1).
Slechte oplossing 2: Met strings
De waarde van de dag bewaren we nu in een variabele string dagKeuze. We bewaren de dagen als "maandag", "dinsdag", etc.
De code wordt nu wel leesbaarder dan met 1, maar toch is ook hier 1 groot nadeel:
De code is veel foutgevoeliger voor typfouten. Wanneer je "Maandag" i.p.v. "maandag" bewaard dan zal de if al niet werken. Iedere schrijffout of variant zal falen.
Enumeraties: het beste van beide wereld.
Enumeraties (enum) zijn een C# syntax die bovenstaand probleem oplost en het beste van beide samenvoegt: leesbaardere code en visual studio kan je helpen met minder foutgevoelige foute schrijven.
Het keyword enum geeft aan dat we een nieuw type maken dat maar enkele mogelijke waarden kan hebben. Nadat we dit nieuwe type hebben gedefiniëerd kunnen we variabele van dit nieuwe type aanmaken. De variabele die we dan later maken zal van dit type zijn en enkel de opgegeven waarden mogen bevatten. Ook zal IntelliSense van Visual Studio je de mogelijke waarden helpen invullen.
In C# zitten al veel Enum-types ingebouwd. Denk maar aan ConsoleColor: wanneer je de kleur van het lettertype van de console wilt veranderen gebruiken we een enum-type. Er werd reeds gedefinieerd wat de toegelaten waarden zijn, bijvoorbeeld: Console.ForegroundColor = ConsoleColor.Red;
Zelf enum maken
Zelf een enum type maken gebeurt in 2 stappen: 1. Het type en de mogelijke waarden definiëren 2. Variabele(n) van het nieuwe type aanmaken en gebruiken in je code
Vanaf nu kan je variabelen van het type Weekdagen aanmaken.
Merk op dat er geen puntkomma achteraan komt.
Locatie enum definitie
Let er op dat je je enum op de juiste locatie in je code schrijft:
Dit is fout:
Stap 2: variabelen van het type aanmaken en gebruiken.
We kunnen nu variabelen van het type Weekdagen aanmaken. Bijvoorbeeld:
En vervolgens kunnen we waarden aan deze variabelen toewijzen als volgt
Kortom: we hebben variabelen zoals we gewoon zijn, het enige verschil is dat we nu beperkt zijn in de waarden die we kunnen toewijzen. Deze kunnen enkel de waarden zijn die in het type gedefiniëerd werden. De code is nu ook een pak leesbaarder geworden.
Enums en beslissingen werken graag samen
Ook de beslissingsstructuren worden leesbaarder:
of een switch:
Conversie
Intern worden de enum-variabelen als ints bewaard. In het geval van de Weekdagen zal maandag de waarde 0 krijgen, dinsdag 1, etc.
Volgende conversies met behulp van zijn dan ook perfect toegelaten:
Wil je dus bijvoorbeeld 1 dag bijtellen dan kan je schrijven:
Andere interne waarde
Standaard worden de waarden dus genummerd intern beginnende bij 0, enz. Je kan dit ook manueel veranderen door bij het maken van de enum expliciet aan te geven wat de interne waarde moet zijn, als volgt:
De dagen zullen nu vanaf 1 genummerd worden, dus WeekDagen.Woensdag zal de waarde 3 hebben.
We kunnen ook nog meer informatie meegeven, bijvoorbeeld:
In dit geval zullen Maandag tot Vrijdag intern als 1 tot en met 5 bewaard worden, Zaterdag als 50, en Zondag als 60.
Why should I care?
Je kan perfect leven zonder enum. Vele programmeurs voor je hebben dit bewezen. Echter, van zodra ze enumontdekten (en begrepen) zijn nog maar weinig programmeurs ervan af gestapt.
Wanneer gebruik je enum? Telkens je een variabele (of meerdere) nodig hebt waarvan je perfect op voorhand weet welke handvol mogelijke waarde ze mogen hebben. Ze worden bijvoorbeeld vaak gebruikt in finite state machines. Bij game development willen we bijhouden in welke staat het programma zich bevindt: intro, startmenu, ingame, gameover, optionsscreen, etc. Dit is een typisch enum verhaal. We definiëren hiervoor het volgende type:
En vervolgens kunnen we dan met een eenvoudige switch in ons hoofdprogramma snel de relevante code uitvoeren:
Kennisclip
Scope van variabelen
Scope van variabelen
De locatie waar je een variabele aanmaakt bepaald de scope, oftewel de zichtbaarheid, van de variabele. Eenvoudig gezegd zullen steeds de omliggende accolades de scope van de variabele bevatten. Indien je de variabele dus buiten die accolades nodig hebt dan heb je een probleem: de variabele is enkel bereikbaar binnen de accolades vanaf het punt in de code waarin het werd aangemaakt.
Zeker wanneer je begint met if, loops, methoden, etc. zal de scope belangrijk zijn: deze code-constructies gebruiken steeds accolades om codeblocks aan te tonen. Een variabele die je dus binnen een if-blok aanmaakt zal enkel binnen dit blok bestaan, niet erbuiten.
Wil je dus getal ook nog buiten de if gebruiken zal je je code moeten herschrijven zodat getal VOOR de if wordt aangemaakt:
De scope van variabelen is soms wat verwarrend maar wel een onderdeel dat je deze hele cursus zal zien terugkomen.
Hopelijk kan volgende kennisclip je helpen: .
Variabelen met zelfde naam
Zolang je in de scope van een variabele bent kan je geen nieuwe variabele met dezelfde naam aanmaken:
Volgende code is dus niet toegestaan:
Je krijgt de error: A local variable named 'getal' cannot be declared in this scope because it would give a different meaning to 'getal', which is already used in a 'parent or current' scope to denote something else
Enkel de tweede variabele een andere naam geven is toegestaan in het voorgaande geval.
Dit is wel geldig, daar de scope van de eerste variabele afgesloten wordt door de accolades:
Kennisclip
Oefeningen
H4-BMI-if
Leerdoelen
conditionele boodschappen
Functionele analyse
Deze opgave bouwt verder op H3-BMI-berekenaar. Meerbepaald moet je de gebruiker niet alleen zijn of haar BMI tonen, maar moet je ook een gekleurde boodschap tonen die laat weten of de BMI goed zit of niet.
Voor een BMI lager dan 18,5 toon je de boodschap "ondergewicht" in rode tekst. Voor een BMI die hoger ligt dan 18,5 maar lager dan 25, toon je de boodschap "normaal gewicht" in groene tekst. Voor een hogere BMI, maar lager dan 30, toon je in gele tekst "overgewicht". Voor een hogere BMI, maar lager dan 40, toon je "zwaarlijvig" in rode tekst. Voor een hogere BMI toon je "ernstige obesitas" in magenta.
Technische analyse
Via if en else (en dus ook else if) kan je gevallen onderscheiden. Gebruik ConsoleColor.Red, ConsoleColor.Green, ConsoleColor.Yellow en ConsoleColor.Magenta.
UI
console applicatie
voorbeeldinteractie(s)
De tekst zou in het groen moeten verschijnen maar Gitbook staat dit niet meteen toe.
H4-schoenverkoper
Leerdoelen
conditionele berekeningen
Functionele analyse
Maak een programma dat aan de gebruiker vraagt hoeveel paar schoenen hij wenst te kopen. Ieder paar schoenen kost normaal 20 euro. Indien de gebruiker 10 paar of meer koopt, kost elk paar maar 10 euro. Toon aan de gebruiker de totale prijs.
Breid in een tweede stap je programma uit zodat gevraagd wordt vanaf welk aantal schoenen de prijs daalt naar 10 euro.
Technische analyse
Hou variabelen bij voor de prijs, de gereduceerde prijs en het aantal paar dat nodig is om korting te krijgen. De eerste twee variabelen maak je const.
UI
console applicatie
voorbeeldinteractie(s)
(Na de uitbreiding)
H4-Ohm-berekenaar
Leerdoelen
conditionele berekeningen
De wet van Ohm houdt in dat een elektrische stroom (voorgesteld als I) gelijk is aan een spanningsverschil (U) gedeeld door een weerstand (R), dus I = U / R.
Functionele analyse
Vraag aan de gebruiker wat hij wenst te berekenen: Spanning, Weerstand of Stroomsterkte. Vraag vervolgens de twee andere waarden (als dus de gebruiker "Spanning" kiest vraag je aan de gebruiker de stroomsterkte en de weerstand) en bereken m.b.v. de wet van Ohm de gewenste waarde en toon aan de gebruiker.
Technische analyse
Denk eraan dat de gegeven formule wiskundig gedefinieerd is. In C♯ zal je rekening moeten houden met het feit dat deze drie maten uitgedrukt kunnen worden in kommagetallen.
Je mag hier gewoon strings gebruiken om na te gaan welke maat de gebruiker heeft ingetypt. Je mag veronderstellen dat de getallen uitgedrukt zijn in de gewoonlijke eenheden (volt, ampère, ohm) zodat je ze gewoon kan invullen in de formule.
gebruik de modulo-operator (%) om deelbaarheid door 4 na te gaan
gebruik een constructie met geneste ifs (en elses) om alle gevallen af te handelen
UI
console applicatie
voorbeeldinteractie(s)
H4-kleurcodes
Leerdoelen
conditionele berekeningen
werken met switch
Functionele analyse
Deze oefening bouwt voort op H2-weerstandberekenaar-deel1. Vraag nu aan de gebruiker om de ringkleuren van de eerste 3 ringen in te voeren als tekst (bv groen). Toon vervolgens de de waarde van deze weerstand.
Technische analyse
Je zal elke kleur moeten omzetten in een getal en dan je eerdere oplossing hergebruiken. Omzetten doe je door de ingevoerde tekst te vergelijken met een vaste string en naargelang het resultaat variabelen voor ring 1, 2 en 3 in te vullen. Los deze oefening op met switch!
UI
console applicatie
voorbeeldinteractie(s)
Voel je je vandaag extra leergierig? Maak dan een extra enum, ResistorColors en zet de ingegeven tekst om naar waarden binnen deze enum vooraleer je de berekening uitvoert.
H4-orakeltje
Leerdoelen
conditionele berekeningen
werken met switch
werken met enumeraties
Functionele analyse
Vul de oefening aan uit het vorige hoofdstuk (zie ). Voor het orakel je vertelt hoe lang je te leven hebt zal eerst vragen naar je geslacht, dat je ingeeft als v of m. Dan vraagt ze je leeftijd. Mannen leven maximum tot hun 120 jaar. Vrouwen tot 150 jaar. Het orakel moet rekening houden met je huidige leeftijd, dus het mag niet zeggen dan een man nog 110 jaar te leven heeft als hij al 50 is, want dan zou hij ouder worden dan 120.
Technische analyse
Je mag veronderstellen dat de huidige leeftijd onder het theoretische maximum ligt.
Gebruik een enum, met als naam Sexes en als waarden Male en Female om de geslachten voor te stellen.
UI
console applicatie
voorbeeldinteractie(s)
H4-ruimte-specifiek
Dit is een complexere oefening dan de vorige! Pak het stapje voor stapje aan en gebruik indien nodig de debugger.
Leerdoelen
werken met enumeraties
conversie van enums van en naar getallen
werken met switch
Functionele analyse
Deze opgave bouwt verder op H1-ruimte. Eerst vraag je de gebruiker om zijn of haar gewicht in te voeren. Daarna geef je een lijst van de planeten in ons zonnestelsel (Pluto inbegrepen, ook al is dat officieel geen planeet). Iedere planeet wordt voorafgegaan door een nummer. Dan selecteert de gebruiker het nummer van een van deze planeten en ten slotte toont het programma hoe veel de persoon weegt op de planeet in kwestie.
Technische analyse
Je hebt hier verschillende zaken nodig:
conversie naar een double om een gewicht in te lezen
een enum om de planeten voor te stellen
conversie van de planeten naar getallen om de gebruiker een nummer voor elke planeet te tonen
UI
console applicatie
voorbeeldinteractie(s)
Het programma zou in dit geval misschien iets simpeler zijn zonder, maar dan gebruik je dit een eerste keer.
Je kan vermijden dat de voorspelde leeftijd te hoog gaat door je .Next-call aan te passen, zodat de hoogst mogelijke waarde diegene is waarbij je de maximale leeftijd voor het gegeven geslacht bereikt.
conversie in de omgekeerde richting om de keuze van de gebruiker te verstaan
een switch om de juiste vermenigvuldigingsfactor te bepalen
Hoeveel weeg je in kg?
> 69.0
Hoe groot ben je in m?
> 1.78
Je BMI bedraagt 21.78.
normaal gewicht
Hoeveel paar schoenen wil je kopen?
> 3
Je moet 60 euro betalen.
Hoeveel paar schoenen wil je kopen?
> 12
Je moet 120 euro betalen.
Vanaf welk aantal geldt de korting?
> 7
Hoeveel paar schoenen wil je kopen?
> 8
Je moet 80 euro betalen.
Wat wil je berekenen? spanning, weerstand of stroomsterkte?
> stroomsterkte
Wat is de spanning?
> 30
Wat is de weerstand?
> 20
De stroomsterkte bedraagt 1.5.
> 1997
geen schrikkeljaar
> 1996
schrikkeljaar
> 1900
geen schrikkeljaar
> 2000
schrikkeljaar
Wat is de kleur van de eerste ring?
> rood
Wat is de kleur van de tweede ring?
> paars
Wat is de kleur van de derde ring?
> rood
Deze weerstand heeft waarde van 2700 Ohm
Wat is je geslacht?
> m
Hoe oud ben je?
> 32
Je hebt nog 80 jaar te leven!
Hoeveel weeg je?
> 69.0
Voor welke planeet wil je je gewicht kennen?
1. Mercurius
2. Venus
3. Aarde
4. Mars
5. Jupiter
6. Saturnus
7. Uranus
8. Neptunus
9. Pluto
> 2
Daar weeg je 62.79kg.
//Bij opstart:
gamestate playerGameState= gamestate.intro;
//later:
switch(playerGameState)
{
case gamestate.intro:
//show fancy movie
break;
case gamestate.startmenu:
//show start menu
break;
//etc...
if( something == true)
{
int getal = 0 ; //Start scope getal
getal = 6;
} // einde scope getal
Console.WriteLine(getal); // zal niet werken daar de scope van getal al gedaan was