我有一个非常具体的问题,我希望人们能够帮助我。
我的程序可以运行,但是我只是在规范上苦苦挣扎,我猜这是正确的写法。
我正在做的任务具体说来有两个功能,一个是将温度设置为摄氏温度,另一个是将温度设置为华氏温度。但是,按照我现在设置的方式,您可以set_fahrenheit
或set_celsius
进行操作,如果可以的话,程序将以相同的方式工作。
这是问题:
进行温度课程。该类应具有以华氏度设置温度的功能和以摄氏度为单位设置温度的功能。在专用部分中仅保留一个数据成员用于存储温度。创建一个获取华氏温度的函数和一个获取摄氏温度的函数。使用驱动程序彻底测试每个功能。
F =(9/5)C + 32,C =(5/9)(F-32)
代码:
#include<iostream>
using namespace std;
class Temperature
{
private:
double temperature;
public:
void set_fahrenheit(double f)
{
temperature = f;
}
void set_celsius(double c)
{
temperature = c;
}
double get_fahrenheit()
{
temperature = (9.0/5.0)*temperature + 32;
return temperature;
}
double get_celsius()
{
temperature = (5.0/9.0)*(temperature - 32);
return temperature;
};
};
int main()
{
Temperature Temp1;
double temperaturetemp;
string response;
cout << "Would you like to convert a Celsius temperature to Fahrenheit or convert a Fahrenheit temperature to Celsius? (Enter C2F or F2C respectively)" << endl;
cin >> response;
cout << "Please enter the temperature you would like to convert in degrees" << endl;
cin >> temperaturetemp;
if (response == "C2F")
{
Temp1.set_fahrenheit(temperaturetemp);
cout << "Your converted temperature is: " << Temp1.get_fahrenheit() << " degrees";
}
else if (response == "F2C")
{
Temp1.set_celsius(temperaturetemp);
cout << "Your converted temperature is: " << Temp1.get_celsius() << " degrees";
}
}