C# :: Aufgabe #230 :: Lösung #7

8 Lösungen Lösungen öffentlich
#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ß!

#7
vote_ok
von charlyP (250 Punkte) - 26.03.2020 um 00:03 Uhr
Quellcode ausblenden C#-Code
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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2121462

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.