摄氏度转换表程序

Celsius conversion tabel program

本文关键字:程序 转换 摄氏度      更新时间:2023-10-16

C++中的摄氏温度表

C=5/9(F-32(

编写一个名为Celsius的函数,该函数接受华氏温度作为参数。名为Celsius的函数,接受华氏温度作为参数。该函数应返回温度,转换为摄氏度。通过在一个循环中调用它来演示该函数,该循环显示华氏温度0到20度及其摄氏当量的表格。

我知道我即将完成这个程序,但我似乎混淆了/错过了我的变量。它应该打印出一个两列表,从0-20的温度转换每次增加5。任何帮助都会很棒!这是我的代码:

#include <iostream>
#include <iomanip>
using namespace std;
// Create prototype
double celsius(double);
int main()
{
double cTemp;
for(int temp = 0; temp <= 20; temp+= 5)
{
double celTemp;
//Call the function
celTemp = celsius(temp);
cout << "The temperature in celsius is: " << temp << setw(6) << 
cTemp << endl;
}
}
double celsius(double farenheit)
{
double cTemp;
cTemp = 5.0 /9.0 * (farenheit - 32);
return cTemp;
}

cTemp有什么用途?我可以在你的代码中看到,你没有给它任何值,但你仍然试图获得它的输出。

相反,您应该删除double cTemp并输出celTemp。因为这是你用来指代从函数中获得的以摄氏度为单位的温度的变量。

我在电脑中运行了您的代码。我得到了所有celsius列值0。我想你的问题可能是为什么所有这些值都为零。打印值时,我在for循环中发现了一个错误。你在那里写了cTemp。我想是celTemp。现在,它并没有显示所有的零,而是显示正确的值。看一眼。。。

for(int temp = 0; temp <= 20; temp+= 5)
{
double celTemp;
//Call the function
celTemp = celsius(temp);
cout << "The temperature in celsius is: " << temp << setw(10) << celTemp << endl;
}

您的

for(int temp = 0; temp <= 20; temp+= 5)
{
double celTemp;
//Call the function
celTemp = celsius(temp);
cout << "The temperature in celsius is: " << temp << setw(6) << 
cTemp << endl;
}

不转换从输入读取的值。根据您所说的,还不清楚程序应该做什么,但可能调用celsius((函数的参数不应该只是temp,而是类似于(temp+cTemp(的参数。

for循环还会忽略从celsius((函数返回的值,并始终在第二列中打印值cTemp(即从stdin读取的值(,这可能是另一个错误。