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