-2

我有一个函数应该找到两个温度之间的差异。首先,我打印出摄氏温度和大约华氏温度,然后找到并打印它们之间的差异。我的问题是,当我运行程序时,所有的输出差异都是 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++;
}
}
4

2 回答 2

1
  1. 您需要一个将摄氏温度转换为华氏温度的函数。
  2. 您不想更改celand 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);
    }
}
于 2013-04-18T17:52:59.107 回答
0

您每次循环将摄氏度和华氏温度都增加一个,因此每次的差异都是相同的。仅仅因为您通过参考传递温度并不意味着它会在您更改它时为您重新计算华氏温度。您应该将摄氏度加一,重新计算华氏度,然后计算差异。

于 2013-04-18T17:54:02.810 回答