Vandaag weer objectgerelateerd leren programmeren. Dat zou volgens de leraar erg moeilijk zijn, maar liet voor mij juist het e.e.a. op zijn plek vallen

Ik snap nu overigens wel waarom ik het te snel vind gaan, en de fun er nog niet in zit.. Leraar vertelde vandaag dat we in 7 weken tijd net zoveel stof hebben gehad als een HBO opleiding programmeren in 1 jaar

Niet gek dus dat nog lang niet alles duidelijk is.
Heb wel de uitwerking van de (gehele) opdracht, die is:
Body-mass index (BMI) is een index die de verhouding tussen lengte en gewicht bij een persoon weergeeft. De BMI wordt veel gebruikt om een indicatie te krijgen of er sprake is van overgewicht. BMI is gedefinieerd als:
Maak een Console applicatie genaamd “Demo15” en schrijf een method genaamd “BerekenBMIscore” die een double als return-type heeft en 2 argumenten {int} heeft: GewichtInKg en LengteInCm.
Test deze method middels de Immediate Window (tijdens het runnen) of schrijf er eenvoudige input-output-instructies omheen, zoals bijvoorbeeld:
Wat is je gewicht 🇰🇬? 94
Wat is je lengte 🇨🇲? 172
Je BMI-score is: 31,77
NB: zorg dat de berekening de int-waardes goed omzet naar een double-waarde!
Tip: gebruik een hulpvariabele “BMIscore” {double} om de berekening, het resultaat aan toe te kennen en daarna terug te geven middels “return”. Deze hulpvariabele heb je bij het vervolg nog nodig.
De BMI-scores worden geclassificeerd en zeggen zodoende iets over het gewicht van de persoon in kwestie.
Interpretatie van de BMI-score:
Breid de method “BerekenBMIscore” uit met 2 ref-argumenten: BMIKlasse {int} met mogelijke waarden: 1, 2, 3, 4, 5 of 6, en BMIKlasseInterpretatie {string} die de interpretatie teruggeeft als in bovenstaand tabelletje (“ondergewicht”, “normaal gewicht”, etc.).
Test deze method middels de Immediate Window (tijdens het runnen) of schrijf er eenvoudige input-output-instructies omheen, zoals bijvoorbeeld:
Wat is je gewicht 🇰🇬? 94
Wat is je lengte 🇨🇲? 172
Je BMI-score is: 31,77
Bijbehorende BMI-klasse is: 5
Interpretatie: ernstig overgewicht
Tip 1: gebruik de (gevulde) hulpvariabele “BMIscore” uit 15a. om de klasse en interpretatie te bepalen. Z.O.Z.
Tip 2: Of de waarde van x tussen 2 en 5 ligt, schrijf je wiskundig als:
2 < x < 5
maar in C# wordt dat (als x een variabele is):
((x > 2) && (x < 5))
Zie ook p.75, 76
Breid de method “BerekenBMIscore” uit met 1 ref-argument: OpgetredenFout {Exception} die een eventuele fout in de berekening of uitwerking teruggeeft aan de gebruiker.
Test deze method middels de Immediate Window (tijdens het runnen) of schrijf er eenvoudige input-output-instructies omheen, zoals bijvoorbeeld:
Wat is je gewicht 🇰🇬? 94
Wat is je lengte 🇨🇲? 172
Er is een fout opgetreden bij het berekenen van de BMI-score!
De foutmelding is: <Exception.Message>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Demo15
{
class Program
{
static void Main(string[] args)
{
double BMI;
int BMIKlasse = 0;
string BMIstring = "";
Exception err = null;
try
{
BMI = BerekenBMI(100, 197, ref BMIKlasse, ref BMIstring, ref err);
Console.WriteLine("BMI: " + BMI);
Console.WriteLine("BMIklasse: " + BMIKlasse);
Console.WriteLine("BMIstring: " + BMIstring);
}
catch
{
Console.WriteLine(err.Message);
}
Console.ReadLine();
}
static double BerekenBMI(int Gewicht, int Lengte)
{
double BMIscore;
double dLengte = Lengte / 100.0;
double dGewicht = Convert.ToDouble(Gewicht);
return BMIscore = Math.Round(dGewicht / Math.Pow(dLengte, 2),2);
}
static double BerekenBMI(int Gewicht, int Lengte,ref int BMIKlassse,ref string BMIstring, ref Exception err)
{
double BMIscore;
BMIscore = BerekenBMI(Gewicht, Lengte);
if (BMIscore < 0)
{
throw new Exception("help");
}
if (BMIscore > 0 && BMIscore < 18.5)
{
BMIKlassse = 1;
BMIstring = "ondergewicht";
}
else if (BMIscore > 18.5 && BMIscore < 24.9)
{
BMIKlassse = 2;
BMIstring = "normaal gewicht";
}
else if (BMIscore > 25 && BMIscore < 26.9)
{
BMIKlassse = 3;
BMIstring = "licht overgewicht";
}
else if (BMIscore > 27 && BMIscore < 29.9)
{
BMIKlassse = 4;
BMIstring = "matig overgewicht";
}
else if (BMIscore > 30 && BMIscore < 39.9)
{
BMIKlassse = 5;
BMIstring = "ernstig overgewicht";
}
else
{
BMIKlassse = 6;
BMIstring = "ziekelijk overgewicht";
}
return BMIscore;
}
}
}
Sommige dingen nog wel een beetje

maar ga er nu voor zorgen dat ik het trucje na kan doen zonder te spieken, dan valt de rest over een paar weken wel weer op zijn plek
Klopt ook nog niet helemaal, want hier zijn de waardes al ingegeven.