C# :: Aufgabe #230 :: Lösung #7
8 Lösungen
#230
Body-Mass-Index (BMI)
Anfänger - C#
von hollst
- 20.11.2018 um 18:23 Uhr
Der BMI ist eine (umstrittene) Kenngröße zur Ermittlung des eigenen Über-/Untergewichtszustandes:
BMI = Körpermasse (kg) / Körpergröße zum Quadrat (m**2).
Er wird wie folgt interpretiert:
Starkes Untergewicht < 16
Mäßiges Untergewicht 16 – < 17
Leichtes Untergewicht 17 – < 18,5
Normalgewicht 18,5 – < 25
Präadipositas 25 – < 30
Adipositas Grad I 30 – < 35
Adipositas Grad II 35 – < 40
Adipositas Grad III ≥ 40
Man schreibe ein Programm, das die zwei Basisdaten (Körpermasse und Körpergröße) entgegennimmt und den
Zustand (Starkes Untergewicht, Mäßiges Untergewicht ... Adipositas Grad III) als Ergebnis mitteilt.
Viel Spaß!
BMI = Körpermasse (kg) / Körpergröße zum Quadrat (m**2).
Er wird wie folgt interpretiert:
Starkes Untergewicht < 16
Mäßiges Untergewicht 16 – < 17
Leichtes Untergewicht 17 – < 18,5
Normalgewicht 18,5 – < 25
Präadipositas 25 – < 30
Adipositas Grad I 30 – < 35
Adipositas Grad II 35 – < 40
Adipositas Grad III ≥ 40
Man schreibe ein Programm, das die zwei Basisdaten (Körpermasse und Körpergröße) entgegennimmt und den
Zustand (Starkes Untergewicht, Mäßiges Untergewicht ... Adipositas Grad III) als Ergebnis mitteilt.
Viel Spaß!
#7
von charlyP (250 Punkte)
- 26.03.2020 um 00:03 Uhr
using System;
namespace BMI_Rechner
{
class Program
/*******************************************************************************
* Das Programm ermittelt aus der Eingabe von Gewicht und Körpergröße den *
* BMI und gibt diese Daten zusammen mit dem entsprechenden Körperzustand aus. *
* Zusätzlich wird noch das der Körpergröße entsprechende Normalgewicht *
* berechnet und ausgegeben. Danach wartet das Programm auf eine neue Eingabe. *
* ****************************************************************************/
{
static void Main(string[] args)
{
// Endlosschleife
Loop:
string eingabeGewicht, eingabeGroesse, bmiText = null;
double gewicht, groesse, bmi, ideal1, ideal2 = 0;
// Eingabe Gewicht
Console.WriteLine("Bitte Ihr Gewicht eingeben [kg]:");
eingabeGewicht = Console.ReadLine();
// Umwandlung des Eingabestrings in eine Double-Zahl
try
{
gewicht = double.Parse(eingabeGewicht);
}
// Abfangen einer Eingabe, die eine Exception verursachen würde
catch (FormatException)
{
Console.WriteLine("Fehlerhafte Eingabe");
Console.WriteLine();
goto Loop;
}
// Eingabe Groesse
Console.WriteLine("Bitte Ihre Groesse eingeben [cm]:");
eingabeGroesse = Console.ReadLine();
// Umwandlung des Eingabestrings in eine Double-Zahl
try
{
groesse = double.Parse(eingabeGroesse) / 100;
}
// Abfangen einer Eingabe, die eine Exception verursachen würde
catch (FormatException)
{
Console.WriteLine("Fehlerhafte Eingabe");
Console.WriteLine();
goto Loop;
}
// Berechnung BMI
bmi = gewicht / Math.Pow(groesse, 2);
if (bmi < 16)
{
bmiText = "Starkes Untergewicht";
}
else if (bmi < 17)
{
bmiText = "Mäßiges Untergewicht";
}
else if (bmi < 18.5)
{
bmiText = "Leichtes Untergewicht";
}
else if (bmi < 25)
{
bmiText = "Normalgewicht";
}
else if (bmi < 30)
{
bmiText = "Präadipositas";
}
else if (bmi < 35)
{
bmiText = "Adipositas Grad I";
}
else if (bmi < 40)
{
bmiText = "Adipositas Grad II";
}
else if (bmi >= 40)
{
bmiText = "Adipositas Grad III";
}
// "Notbremse", sollte eigentlich nie auftreten können
else
{
Console.WriteLine("Unbekannter Fehler");
}
// Berechnung Idealgewicht
ideal1 = 18.5 * Math.Pow(groesse, 2);
ideal2 = 25 * Math.Pow(groesse, 2);
Console.WriteLine();
Console.WriteLine("Gewicht: " + Math.Round(gewicht, 2) + " , Körpergröße: " + Math.Round(groesse, 2) + " BMI: " + Math.Round(bmi, 1) + " " + bmiText);
Console.WriteLine("Ihr Idealgewicht liegt zwischen ca. " + Math.Round(ideal1, 0) + " und " + Math.Round(ideal2, 0) + " kg");
Console.WriteLine();
Console.ReadLine();
goto Loop;
}
}
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
