BMI计算器错误

时间:2012-12-17 17:28:07

标签: c++ math

我正在尝试做一个基本的BMI计算器,当我做它的公制方面时它工作正常,但是,帝国方面会回答错误的答案。

cout << "What is your weight? ";
cin >> weight;

cout << "What is your height in either inches or meters? ";
cin >> height;

cout << "Is that metric or imperial? Type 1 for metric, or 0 for imperial ";
cin >> unit;

if (unit = 1) 
answer = weight / (height * height);
if (unit = 0)
answer = (weight * 703) / (height * height);
cout << "Your BMI is " << answer << endl;
system("PAUSE");
return 0;  
根据维基百科的说法,我认为英国的BMI等式是

重量(磅)* 703 /(高度,单位为英寸)

2 个答案:

答案 0 :(得分:4)

使用==测试不等于=

答案 1 :(得分:1)

您在if语句中使用赋值运算符“=”,这两个运算符将始终返回true,因为您可以将值“0”或“1”分配给单位。

要测试相等性,必须使用“==”。

这应该可以解决这个问题! (: