C++ :: Aufgabe #210

5 Lösungen Lösungen öffentlich

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

Lösungen:

vote_ok
von ylreda (340 Punkte) - 25.11.2018 um 12:09 Uhr
Quellcode ausblenden C-Code
#include <iostream>
#include <cmath>

using namespace std;
float KM, KG, BMI;   //BMI: Body-Mass-Index; KM:Koerpermasse; KG:Koerpergroeße
                               // BMI = Körpermasse (kg) / Körpergröße zum Quadrat (m**2)

int main()
{
    cout << "KM und KG Eingeben:\n";
    cin >> KM >> KG;
    BMI = KM / pow(KG, 2.0);
    if (BMI<16)                                  cout << "Starkes Untergewicht\n";
    else if(BMI>=16 && BMI<17)       cout << "Mäßiges Untergewicht\n";
    else if(BMI>=17 && BMI<18,5)    cout << "Leichtes Untergewicht\n";
    else if(BMI>=18,5 && BMI<25)    cout << "Normalgewicht\n";
    else if(BMI>=25 && BMI<30)       cout << "Präadipositas\n";
    else if(BMI>=30 && BMI<35)       cout << "Adipositas Grad I\n";
    else if(BMI>=35 && BMI<40)       cout << "Adipositas Grad II\n";
    else                                             cout << "Adipositas Grad III\n";

    return 0;
}
vote_ok
von Rayman (160 Punkte) - 05.01.2019 um 14:19 Uhr
Quellcode ausblenden C-Code
#include "stdafx.h"
#include <iostream>
#include <math.h>



using namespace std;

int main() 
{
	double mass;
	double height;
	double bmi;

	cout << "Bitte gebe dein Koerpergewicht an: " << endl;
	cin >> mass;
	cout << "Bitte gebe deine Koerpergroesse ein: " << endl;
	cin >> height;

	bmi = mass / pow(height,2);				//pow ist zur berechnung mit dem Exponenten einer Variable da
											//math.h muss aber #includet werden

	if (bmi < 16)
	{
		cout << "Sie haben durch " << bmi << " ein starkes Untergwicht" << endl;
	}
	else if (bmi > 16 && bmi < 17)
	{
		cout << "Sie haben durch " << bmi << " ein maessiges Untergwicht" << endl;
	}
	else if (bmi > 17 && bmi < 18.5)
	{
		cout << "Sie haben durch " << bmi << " ein leichtes Untergwicht" << endl;
	}


	else if (bmi > 18.5 && bmi < 25)
	{
		cout << "Sie haben durch " << bmi << " ein Normalgewicht" << endl;
	}


	else if (bmi > 25 && bmi < 30)
	{
		cout << "Sie haben durch " << bmi << " ein Praeadipositas" << endl;
	}


	else if (bmi > 30 && bmi < 35)
	{
		cout << "Sie haben durch " << bmi << " Adipositas Grad I" << endl;
	}
	else if (bmi > 35 && bmi < 40)
	{
		cout << "Sie haben durch " << bmi << " Adipositas Grad II" << endl;
	}
	else if (bmi > 40 && bmi < 45)
	{
		cout << "Sie haben durch " << bmi << " Adipositas Grad III" << endl;
	}
	else
	{
		cout << "nicht definierbar" << endl;
	}

	system("Pause");
	return 0;
}
vote_ok
von kyurl (40 Punkte) - 13.01.2019 um 21:26 Uhr
Quellcode ausblenden C-Code
#include <iostream>


using namespace std;

int main()
{
    double gewicht;
    double groesse;

    cout << "Geben sie ihr gewicht ein: ";
    cin >> gewicht;
    cout << "Geben sie ihre groeße ein [m]: ";
    cin >> groesse;

    double bmi = gewicht / (groesse*groesse);

    cout << bmi << " sie haben ";

    if (bmi < 16)
    {
        cout << "Stakes Untergewicht";
    }
    else if (bmi>= 16 && bmi < 17)
    {
        cout << "maessiges Untergewicht";
    }
    else if(bmi >=17 && bmi < 18.5)
    {
        cout << "leichtes Untergewicht";
    }
    else if (bmi >= 18.5 && bmi < 25)
    {
        cout << "normalgewicht";
    }
    else if(bmi >=25 && bmi < 30)
    {
        cout << "Praeadipositas";
    }
    else if(bmi >= 30 && bmi < 35)
    {
        cout << "Adipositas Grad I";
    }
    else if (bmi >= 35 && bmi < 40)
    {
        cout << "Adipositas Grad II";
    }
    else if(bmi >= 40)
    {
        cout << "Adipositas Grad III";
    }
    else
    {
        cout << "Fehler!";
    }

    return 0;
}
vote_ok
von Mathes (120 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;
}
vote_ok
von guerilla (70 Punkte) - 24.02.2019 um 17:54 Uhr
Quellcode ausblenden C-Code
#include <iostream>
using namespace std;

//DEUTSCHE UMLAUTE___________________________________________
const unsigned char AE = static_cast<unsigned char>(142);
const unsigned char ae = static_cast<unsigned char>(132);
const unsigned char OE = static_cast<unsigned char>(153);
const unsigned char oe = static_cast<unsigned char>(148);
const unsigned char UE = static_cast<unsigned char>(154);
const unsigned char ue = static_cast<unsigned char>(129);
const unsigned char sz = static_cast<unsigned char>(225);
//___________________________________________________________


int main()
{
//VARIABLEN___________________________________
float kg;
float m;
float bmi;

//___________________________________________
	

	//USEREINGABE: Körpermasse
	cout<<"Bitte geben sie Ihr Gewicht in \"Kg\" ein: ";
		cin>>kg;

system("cls");
	//USEREINGABE: Größe
	cout<<"Bitte geben Sie Ihre Gr"<<oe<<sz<<"e in \"M\" ein (z.B. \"1.8\"): ";
		cin>>m;

system("cls");
//Berechnet den BMI
bmi = kg / (m*m);

//Rechenweg: BMI = kg / (m*m)
cout<<kg<<"Kg / "<<m<<"m^2 = "<<bmi<<" BMI"<<endl;


//If-Abfrage: Wählt die zum BMI passende Bewertung aus
if (bmi<16)
		cout<<"Sie haben ein starkes Untergewicht!"<<endl;
if (bmi == 16)
		cout<<"Sie haben ein m"<<ae<<sz<<"iges Untergewicht!"<<endl;
if ((bmi > 16 ) && (bmi < 18.5))		
		cout<<"Sie haben ein leichtes Untergewicht!"<<endl;
if ((bmi >=18.5 ) && (bmi <25))
		cout<<"Sie haben ein normales Gewicht!"<<endl;
if ((bmi >=25 ) && ( bmi <30))
		cout<<"Sie haben Pr"<<ae<<"adipositas!"<<endl;
if ((bmi >=30 ) && (bmi <35))
		cout<<"Sie haben Adipositas Grad I!"<<endl;
if ((bmi >=35 ) && (bmi <40))
		cout<<"Sie haben Adipositas Grad II!"<<endl;
if (bmi >=40)
		cout<<"Sie haben Adipositas Grad III!"<<endl;


    return 0;
}