我有一个应该找到两个temp之间差异的函数。首先,我打印出Celsius和大约华氏,然后我找到并打印它们之间的差异。我的问题是,当我运行程序时发生的一切就是所有内容的差异输出为58.
它应该打印出这样的东西:
C----AF----Diff
1----32----31
2----34----32
等
我的代码:
void calDiff(int& cel, int& appFar, int diff){
while(cel!= 101){
diff = appFar - cel;
cout << diff << endl;
cel++;
appFar++;
}
}
答案 0 :(得分:1)
cel
和appFar
,然后删除引用&
。
int cel2far(int cel)
{
// convert cel to far and return approx. far
}
void calDiff(int cel, int appFar, int diff)
{
while(cel!= 101){
diff = appFar - cel;
cout << diff << endl;
cel++;
appFar = cel2far(cel);
}
}
答案 1 :(得分:0)
每次循环增加一个celcius和fahrenheit tempertures,因此每次的差异都是相同的。仅仅因为你通过参考传递温度并不意味着它会在你改变时重新计算华氏温度。你应该将celcius增加1,重新计算华氏度然后计算差异。