C++ :: Aufgabe #210 :: Lösung #4

7 Lösungen Lösungen öffentlich
#210

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

#4
1x
vote_ok
von Mathes (130 Punkte) - 18.01.2019 um 18:11 Uhr
Quellcode ausblenden C-Code
// c++17

#include <iostream>
#include <cmath>
#include <string>

using num_t = float;

auto calc_bmi(num_t const kg, num_t const m)
{
    return kg / std::pow(m, 2);
}

std::string bmi_to_text(num_t const bmi)
{
    if (bmi < 16.0)
    {
        return "Starkes Untergewicht";
    }
    
    if (bmi < 17.0)
    {
        return "Mäßiges Untergewicht";
    }

    if (bmi < 18.5)
    {
        return "Leichtes Untergewicht";
    }

    if (bmi < 25.0)
    {
        return "Normalgewicht";
    }

    if (bmi < 30.0)
    {
        return "Päadipositas";
    }

    if (bmi < 35.0)
    {
        return "Adipositas Grad I";
    }
    
    if (bmi < 40.0)
    {
        return "Adipositas Grad II";
    }
    
    return "Adipositas Grad III";
}


int main()
{
    std::cout << "Bitte Gewicht (kg) eingeben: ";
    num_t kg;
    std::cin >> kg;

    std::cout << "Bitte Größe in m eingeben: ";
    num_t m;
    std::cin >> m;

    auto const bmi{calc_bmi(kg, m)};

    std::cout << "BMI ist " << bmi << " -> " << bmi_to_text(bmi) << std::endl;
}

Kommentare:

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

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