Labo: Werken met data

Zie Scherp Scherper - Hoofdstuk 4 (in opbouw)

Hoofdstuk 4 in een notendop

ReadLine geeft altijd een string: parse naar een getal

Een cast kapt af: (int)20.9 geeft 20

Math.Round(4.5) geeft 4: bankers rounding

Random: Next(0, 11) geeft 0 tot en met 10

Debuggen: breakpoint, eerst voorspellen, dan Step over

Console.WriteLine("Geef je gewicht:");  // typ 72,5
double gewicht = double.Parse(Console.ReadLine());

int afgekapt = (int)gewicht;                // 72
double afgerond = Math.Round(gewicht,
    MidpointRounding.AwayFromZero);         // 73

De oefeningen

Invoer inlezen en omzetten

Vierkant Balk Supercomputer BMI berekenaar Op-de-poef Feestkassa

Code lezen en debuggen

Voorspel de uitvoer Breakpoint-detective Stevens busreis Zoek-de-fout-prompt

Afkappen en afronden

Wisselgeld in centen

Random

Het Orakeltje van Delphi Weerbericht van morgen Levensbalk

Alles samen

De Festivalganger Final Essentials

Extra

Schaak-ELO (PRO) Sinus, cosinus en tangens

Oefeningen H4

Alles is Essential, behalve de gestippelde.

Parsing, casting of Convert?

double kommagetal = 13.8;

// 13
int viaCasting = (int)kommagetal;

// 14
int viaConvert = Convert.ToInt32(kommagetal);

// enkel vanuit een string
int viaParsing = int.Parse("13");

Opgelet: komma of punt

Invoer typen

Op een pc met Belgische instellingen een komma (9,81), in het Engels een punt (9.81)

In je code

Daar schrijf je altijd een punt: 9.81

Waarschuwing

Het verkeerde teken geeft geen foutmelding. Op een Belgische pc wordt 9.81 gelezen als 981, en je programma rekent vrolijk verder.

Demo: debuggen

Een breakpoint zetten: klik in de grijze rand links van de lijn

Step over: één lijn verder, en weer pauzeren

Steppen over een ReadLine: typ je invoer in de console

Waarden bekijken in Autos en Locals, of hover met je muis (weggeklikt? Debug > Windows > Autos)

Continue loopt door tot het volgende breakpoint, Stop breekt af

Tip

Voorspel eerst wat er gaat gebeuren, en stap dan pas verder. Vanaf nu controleer je een waarde met een breakpoint, niet met Console.WriteLine().

Maak zeker

Breakpoint-detective

Leren debuggen

Het Orakeltje van Delphi

Werken met Random