2016-09-30 17 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(不是输出的一部分,但这是正确的)

你的目标体重变化是多少?(磅)-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

我知道你们都在摇晃你的头说我一定是个白痴,这是理所当然的,我希望有人能他用我的这个!

+0

不,我没有摇头。你不是个白痴。 –

回答

2

什么是你的目标体重的变化?(LBS)-1.5

你打算继续这一趋势?:6

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

所以多少周做你要么输入目标体重更改为正数或添加它,而不是减去。

+0

哇,我绝对密集,固定它,它完美的工作。谢谢! – Xor

2

你的newWeight由于你的陈述6 * -1.5而产生-9。如果你想减去它只是使(weight + newWeight)而不是-

0

你相信如果你这样做(+NewWeight)价值NewWeight变得积极?

不是这种情况:

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

作为一个解决方案使用雷金纳德的想法和使(weight + newWeight)而不是-

+0

当我看到它时,我尝试删除它,但我想你事先看到它!我只是在玩我想我可以做的事情,我编译它就像那样,但它仍然给出了相同的答案! – Xor