BMI berechen C++?
Hallo,
ich wollte den BMI berechnen, warum bekomme ich hier einen Fehler?
#include <iostream>
using namespace std;
int main(void)
{
std::cout << "BMI 2000" <<std::endl;
double Gewicht=0.0f, Länge=0.0f;
Danke schin mal im Voraus.
std::cout << "Bitte geben sie zur berechnung ihres BMI, ihr Gewicht an. \n";
std::cin >> Gewicht
std::cout << "Nun geben sie bitte noch ihre Koerpergroesse in cm an\n";
std::cin >> Länge;
//erst jetzt
double bmi = Gewicht/(Länge / 100.0f) * Länge;
std::cout <<"Ihr Bodymass Index betraegt \" " << bmi << " \" " << endl;
if (bmi < 20) cout << " sie leiden unter Untergewicht! " << endl;
else if (bmi > 25) cout << " sie leiden unter Uebergewicht" << endl;
else cout <<"sie haben ein Normalgewicht" << endl;
return 0;
}
3 Antworten
#include <iostream>
using namespace std;
int main()
{
cout << "BMI 2000" <<endl;
float Gewicht=0.0f, Lange=0.0f;
// Dankeschön im Voraus
cout << "Bitte geben sie zur berechnung ihres BMI, ihr Gewicht an. \n";
cin >> Gewicht;
cout << "Nun geben sie bitte noch ihre Koerpergroesse in cm an" << endl;
cin >> Lange;
//erst jetzt
float bmi = Gewicht/(Lange / 100.0f) * Lange;
cout <<"Ihr Bodymass Index betraegt \" " << bmi << " \" " << endl;
if(bmi < 20) cout << " sie leiden unter Untergewicht! " << endl;
else if (bmi > 25) cout << " sie leiden unter Uebergewicht" << endl;
else cout <<"sie haben ein Normalgewicht" << endl;
return 0;
}
Sollte jetzt funktionieren. Bei Void brauchst du keine return-Wert, Buchstaben
wie ä vermeiden beim Bezeichner und // nicht vergessen
1) Meide Umlaute in Bezeichnernamen. Wegen dem ä in deiner Variable Länge bekomme ich bspw. schon den ersten Fehler entgegengeworfen.
Generell gilt: Variablennamen beginnen mit einem Kleinbuchstaben (damit man sie von anderen Elementen wie Klassen besser unterscheiden kann) und wenn du schon die deutsche Sprache für deine Namensgebungen wählst, dann forme Umlaute um (ä > ae, ö > oe, ...).
2) Hier:
std::cin >> Gewicht
fehlt das abschließende Semikolon am Ende der Zeile.
3) Ich denke, die Logik des Programms ist noch nicht richtig. Es ist nur eine Vermutung, aber ich denke nicht, dass ich an Übergewicht leide.
PS.: Lies in Zukunft doch zunächst einmal selbst die Fehlermeldungen, die dir dein Compiler ausgibt und schau, wie sie im Zusammenhang mit deinem Code stehen. Genau deswegen macht er das doch. Sonderlich schwer zu verstehen waren sie in deinem Fall auch gar nicht.
Die Zeile
Danke schin mal im Voraus.
muss auskommentiert werden
- In der Zeile
std::cin >> Gewicht
fehlt ein Semikolon am Ende.
- keine Umlaute in den Namen der Variablen
Er braucht für die main-Funktion zwar tatsächlich nicht zwingend eine Rückgabe (= Spezialfall), dennoch definiert der Funktionskopf einen int als Rückgabetyp, nicht void.