C++ :: Aufgabe #210 :: Lösung #4
7 Lösungen
#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ß!
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
von Mathes (130 Punkte)
- 18.01.2019 um 18:11 Uhr
// 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
Seite 1 von 0
1
