减法给了我积极的结果C ++

时间:2016-09-30 01:02:23

标签: c++ math calculator subtraction

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;

}

输出结果:

  

你目前的体重是多少?:180

     

你目前的身高是多少英寸?&#34; 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

我知道你们全都摇头说我必须是个白痴,理所当然,我希望有人可以帮助我!

3 个答案:

答案 0 :(得分:2)

  

你的目标体重变化是多少?(lbs)-1.5

     

你打算在几周内继续这种趋势?:6

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

因此,您要么将目标体重变化输入为正数,要么将其添加,而不是减去。

答案 1 :(得分:2)

由于您的陈述newWeight,您6 * -1.5的结果是-9。如果您想减去它,只需制作(weight + newWeight)而不是-

答案 2 :(得分:0)

您是否相信如果(+NewWeight) NewWeight的价值变为正值?

情况并非如此:

一元加运算符(+):对数字类型的运算结果是操作数本身的值。已为所有数字类型预定义此运算符。

作为一种解决方案,使用Reginalds的想法并制作(weight + newWeight)而不是-