我正在尝试做一个基本的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 /(高度,单位为英寸)
答案 0 :(得分:4)
使用==测试不等于=
答案 1 :(得分:1)
您在if语句中使用赋值运算符“=”,这两个运算符将始终返回true,因为您可以将值“0”或“1”分配给单位。
要测试相等性,必须使用“==”。
这应该可以解决这个问题! (: