从C ++中的单独函数返回值?

时间:2016-10-16 01:01:23

标签: c++

我正在使用C ++在我的CS类中进行编程,这给了我一些问题。分配是编写一个程序,要求用户输入华氏温度。然后程序必须输出相当于该温度的摄氏度和接下来的20华氏温度的摄氏度。必须使用单独的函数完成转换计算以及函数原型。

除了我的Celsius输出都显示值为0之外,我得到了一切工作。我似乎无法找到任何错误或弄清楚有什么问题...请帮忙!

#include <iostream>
#include <iomanip>

using namespace std;

double Celsius(double temp);

int main() {

double fTemp, cTemp;

cout << "Please input a temperature in degrees Fahrenheit: ";
cin >> fTemp;

cout << "F Temp" << "       " << "C Temp"<< endl;
cout << "-------------------" << endl;

for(int count=1; count<= 20; count++){

    cTemp = Celsius(fTemp);

    cout << setw(6) << fTemp << setw(12) << cTemp<< endl;

    fTemp++;

}


return 0;
}

//*************Celsius Function****************//

double Celsius(double temp){

double newC;
newC = (temp-32) * (5/9);
return newC;

}
//************************************************

2 个答案:

答案 0 :(得分:0)

(5/9)是整数整数除法。您也可以在那里键入0。将其替换为(5.0/9.0),它应该没问题。

答案 1 :(得分:0)

可以简单地尝试(5.0 / 9.0)或通过执行类似

的操作来使用类型转换
double Celsius(double temp){
  double newC;
  newC = (temp-32) * (float)5/9;
  return newC;
}

因此,你的输出中不会得到直线0。