1

基本的な 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 / (高さの平方インチ)

4

2 に答える 2

4

== を使用して等しいかどうかをテストします = ではありません

于 2012-12-17T17:29:44.420 に答える
1

ifステートメントで代入演算子「=」を使用していますが、ユニットに「0」または「1」の値を代入できるため、どちらも常にtrueを返します。

等しいかどうかをテストするには、「==」を使用する必要があります。

これでこの問題は解決するはずです。(:

于 2012-12-17T17:34:42.240 に答える