Problem in calculation?

I'm trying to figure out why, when i run the program and put in the numbers, the calculation only shows numbers untill 99. There after it will produce numbers like 1e02 2e02 etc. I also seem to not be getting any digits after the decimal point. It just shows full numbers. Who can help me?

#include <iostream>;
#include <iomanip>;

using namespace std;

int main()
{
double geslacht{ 0 }, bmi{ 0 }, gewicht{ 0 }, lengte{ 0 }, MINgezondgewichtMan{ 0 }, MAXgezondgewichtMan{ 0 }, MINgezondgewichtVrouw{ 0 }, MAXgezondgewichtVrouw{ 0 };
cout << "Voer uw geslacht in (man = 1, vrouw = 2): " << endl;
cin >> geslacht;

cout << "Voer uw gewicht in kg aub : " << endl;
cin >> gewicht;
cout << "" << endl;
cout << "Voer uw lengte in cm aub: " << endl;
cin >> lengte;
cout << "" << endl;

bmi = (gewicht / ((lengte / 100) * (lengte / 100)));
MINgezondgewichtMan = (20 * ((lengte / 100) * (lengte / 100)));
MAXgezondgewichtMan = (25 * ((lengte / 100) * (lengte / 100)));
MINgezondgewichtVrouw = (19 * ((lengte / 100) * (lengte / 100)));
MAXgezondgewichtVrouw = (24 * ((lengte / 100) * (lengte / 100)));
cout << setprecision(2) << "Uw BMI : " << bmi << endl;
cout << "" << endl;

if (geslacht == 1)
{
cout << "BMI voor een gezonde man ligt tussen de 20 en 25" << endl;
cout << "" << endl;
cout << "Een gezond gewicht voor u ligt tussen de " << setprecision(2) << MINgezondgewichtMan << " kg" << " en de " << MAXgezondgewichtMan << "kg" << endl;
cout << "" << endl;
if (bmi > 25)
cout << "U heeft overgewicht";

else if (bmi > 20)
cout << "Uw gewicht is prima";
else
cout << "U heeft ondergewicht";
}

if (geslacht == 2)
{
cout << "BMI voor een gezonde vrouw ligt tussen de 19 en 24" << endl;
cout << "Een gezond gewicht voor u ligt tussen de " << setprecision(2) << MINgezondgewichtVrouw << " kg" << " en de " << MAXgezondgewichtVrouw << "kg" << endl;
cout << "" << endl;
if (bmi > 24)

cout << "U heeft overgewicht";
else if (bmi > 19)
cout << "Uw gewicht is prima";
else
cout << "U heeft ondergewicht";
}
cout << "" << endl;
return 0;


}
1E2 is 100. or 1 * 10 to the 2nd power.
2e2 is 200, etc.

setprecision is the total number of digits, not just after the decimal.
try
fixed before setprecision if you want to lock it to 2 digits after decimal
Got it, thanksss.
Topic archived. No new replies allowed.