从c++中单独的函数返回值

Returning values from a separate function in C++?

本文关键字:函数 返回值 单独 c++      更新时间:2023-10-16

我正在做一个编程作业在我的CS类使用c++给我的问题。作业是写一个程序,要求用户输入华氏温度。然后程序必须输出该温度的摄氏等价物和下一个20华氏温度的摄氏等价物。这一切都必须使用单独的函数来完成转换计算以及函数原型。

我得到了一切工作,除了我的摄氏度输出都显示值为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;
}
//************************************************

(5/9)为整整数除法。你也可以在这里输入0。将其替换为(5.0/9.0),应该没问题。

可以简单地尝试(5.0/9.0)或使用类型强制转换,如

double Celsius(double temp){
  double newC;
  newC = (temp-32) * (float)5/9;
  return newC;
}

因此,您将不会在输出中得到一个直接的0。