2016-09-30 3 views
0
if (GoalWeight < 0.0) { 
    int weeks; 
    cout << "How many weeks do you plan to continue this trend?\n"; 
    cin >> weeks; 
    double NewWeight = GoalWeight * weeks; 
    double NegBMI = (weight - NewWeight) * 703/(pow(HeightConverter, 2)); 
    cout << "If you complete your plan for " << weeks << "weeks you will have a new BMI of: \n" << NegBMI; 
} 
system("pause"); 
return 0; 

} 

出力結果与えている:?減算は私に肯定的な結果をC++

インチであなたの現在の高さは何あなたの現在の体重:?180

何ですが、」71

あなたの現在のBMIは:25.10(出力の一部ではありませんが、これは正しいです)

目標の体重変化は何ですか?(lbs)-1.5

あなたはこの傾向を継続することを計画するにはどうすればよい何週間?:6

あなたは6週間のあなたの計画を完了した場合は、新しいBMIがあります:あなたがこれを言うことができるように26.36

を間違っている

BMIの計算は(重量* 703)/身長^ 2(インチ)

何それが負の数のためにやっていることである。

180 + 9(代わりに180 - 9)を得た(191 * 703)/ 71^2が得26.36

代わりの:

180 - 9(171を与えます* 703)/ 71^2の正しい出力もたらす:23.84

を私はあなたがすべて私が馬鹿でなければならないと言って、あなたの頭を振っていて、当然のこと、私は誰かが彼でき願っています知っていますこれでlp私!

+0

いいえ、私は頭を振っていません。あなたは馬鹿ではありません。 –

答えて

2

あなたの目標の体重変化?(ポンド)-1.5

とは何であるあなたは、この傾向を継続することを計画するにはどうすればよい何週間?:6

6 * (-1.5) == -9 
180 - (-9) == 189 

だからどちらかの入力の目標体重正の数に変更するか、減算しないで加算します。あなただけではなく-より(weight + newWeight)を作り、それを減算したい.IF

+0

うわー、私は絶対的に密で、それを固定して、それは完全に働いた。ありがとう! – Xor

2

あなたnewWeightは-9ので、あなたの文6 * -1.5の結果です。

0

(+NewWeight)を入力すると、NewWeightの値がプラスになると思いますか?

これは当てはまらない。

単項プラス演算子(+):数値型の操作の結果は、オペランドの値そのものです。この演算子は、すべての数値型に対して事前定義されています。

解決策としてReginaldsのアイデアを使用し、-ではなく(weight + newWeight)としてください。

+0

見たときに取り外してみましたが、あらかじめ見たと思います!私は自分ができると思ったことをして遊んでいただけで、それをまとめたのと同じ答えを出しました! – Xor

関連する問題