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