also das programm soll den BMI berechnen und je nach geschlecht und berechnetem BMI übergewicht,normalgewicht... ausgeben. normalgewicht m bzw. normalgewicht w im programm bzw. in der ausgabe ist nur zur erleichterung ob die auswahl richtig funktioniert. folgendes problem wenn ich bei der geschlechterabfrage 'm' für männlich eingebe, gibt er mir trotzdem die weiblichen ergebnisse aus, zu erkennen an dem 'w' hinter normalgewicht, übergewicht usw. das programm geht also den weiblichen weg. verstanden? ich hoffe der quelltext erklärt auch einiges oder einfach mal programm testen um zu sehen was ich meine.
ist mit dem konsolen-experten unter c++ builder 5 programmiert.
danke.
ist mit dem konsolen-experten unter c++ builder 5 programmiert.
danke.
Code:
#include<iostream.h>
#include<conio.h>
int main()
{
float groesse,bmi,gewicht;
char wahl,m,geschlecht;
do
{
cout<<"Koerpergroesse?" <<endl; cin>>groesse;
cout<<"Gewicht in kg?" <<endl; cin>>gewicht;
cout<<"Geschlecht m oder w" <<endl; cin>>geschlecht;
bmi=gewicht/(groesse*groesse);
{
if(geschlecht == m) //männlich
{
if (bmi<20)
cout<<"untergewicht m"<<endl;
if (bmi>20&&bmi<25)
cout<<"normalgewicht m"<<endl;
if (bmi>25&&bmi<30)
cout<<"uebergewicht m"<<endl;
if (bmi>30)
cout<<"bedenklich m"<<endl;
}
else //weiblich
{
if (bmi<18)
cout<<"untergewicht w"<<endl;
if (bmi>18&&bmi<24)
cout<<"normalgewicht w"<<endl;
if (bmi>24&&bmi<30)
cout<<"uebergewicht w"<<endl;
if (bmi>30)
cout<<"bedenklich w" <<endl;
}
}
cout<<"programm mit 'e' beenden" <<endl;
cout<<"mit beliebiger taste fortfahren";
cin>>wahl;
} while(wahl!='e'); //neustart
}