我被要求制作此程序来计算人的身体质量指数。由于我发现US_IMPERIAL
未运行,METRIC
不完整。我无法弄清错误,因为无论输入什么数字,结果都为0。
#include <iostream>
using namespace std;
float METRIC (int b, int c)
{
float res;
res = b / c / c * 10000;
return res;
}
float US_IMPERIAL (float d, float e)
{
float resu;
resu = (d / e / e) * 703;
return resu;
}
int main ()
{
cout << "Hello. BMI CALCULATOR!" << endl <<
"Press 1 for METRIC or 2 for US imperial: ";
int a;
cin >> a;
if (a == 1) {
cout << "Enter your weight in KILOGRAMS (KG): ";
int b;
cin >> b;
cout << "Now enter you height in CENTIMETERS(CM): ";
int c;
cin >> c;
cout << "Your BMI is: " << METRIC (b, c);
} else if (a == 2) {
// not yet implemented
} else {
cout << "Error.";
}
return 0;
}
答案 0 :(得分:1)
在METRIC
函数中,表达式b / c / c * 10000
是所有整数表达式。如果您想要分数,那将不会很好。
我建议您将参数b
和c
转换为浮点变量。