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

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ß!

#3
1x
vote_ok
von Exception (7090 Punkte) - 27.12.2018 um 16:49 Uhr
Quellcode ausblenden C#-Code
using System;

namespace BMI_230
{
    class Program
    {
        private static double bmi;
        private static double mass;    // in kg
        private static double height;  // in m

        static void Main(string[] args)
        {
            try
            {
                if(args.Length != 2)
                {
                    throw new ArgumentException("Es müssen exakt zwei Parameter übergeben werden.");
                }
                if(!Double.TryParse(args[0], out Program.mass))
                {
                    throw new Exception("Fehler beim Konvertieren der Körpermasse (in kg).");
                }
                if (!Double.TryParse(args[1], out Program.height))
                {
                    throw new Exception("Fehler beim Konvertieren der Körpergröße (in m).");
                }

                Program.CalculateBMI();
                Program.PrintResult();
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(ex.Message);
                Console.ResetColor();
            }

            Console.ReadKey();
        }

        private static void PrintResult()
        {
            Console.WriteLine("BMI:\t\t{0:f2}\nBezeichnung:\t{1}", Program.bmi, Program.getBmiTitle());
        }

        private static void CalculateBMI()
        {
            Program.bmi = Program.mass / Math.Pow(Program.height, 2);
        }

        private static string getBmiTitle()
        {
            if (Program.bmi < 16.0)
            {
                return "Starkes Untergewicht";
            }
            else if (Program.bmi < 17.0)
            {
                return "Mäßiges Untergewicht";
            }
            else if (Program.bmi < 18.5)
            {
                return "Leichtes Untergewicht";
            }
            else if (Program.bmi < 25.0)
            {
                return "Normalgewicht";
            }
            else if (Program.bmi < 30.0)
            {
                return "Präadipositas";
            }
            else if (Program.bmi < 35.0)
            {
                return "Adipositas Grad I";
            }
            else if (Program.bmi < 40)
            {
                return "Adipositas Grad II";
            }
            else
            {
                return "Adipositas Grad III";
            }
        }
    }
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

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

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.