このプログラムでは、華氏78度を取り、摂氏バージョンとケルビンでクラスに戻そうとしています。しかし、何らかの奇妙な理由から、私はこれを出力として得ています。私は間違って何をしていますか?温度変換に何が問題なのですか?
これは私の出力です。
78 0 273.15
#include <iostream>
using namespace std;
class Temperature
{
public:
double getTempKelvin();
double getTempFahrenheit();
double getTempCelcius();
void setTempKelvin(double k);
void setTempFahrenheit(double f);
void setTempCelcius(double c);
private:
double kelvin, fahrenheit, celcius;
double c, f, k;
};
int main()
{
double c, f, k;
Temperature Conv;
Conv.setTempFahrenheit(f);
Conv.setTempCelcius(c);
Conv.setTempKelvin(k);
cout << Conv.getTempFahrenheit() << endl;
cout << Conv.getTempCelcius() << endl;
cout << Conv.getTempKelvin() << endl;
return 0;
}
void Temperature::setTempFahrenheit(double f)
{
f = 78;
fahrenheit = f;
}
void Temperature::setTempCelcius(double c)
{
c = (5/9) * (f - 32);
celcius = c;
}
void Temperature::setTempKelvin(double k)
{
k = c + 273.15;
kelvin = k;
}
double Temperature::getTempFahrenheit()
{
return fahrenheit;
}
double Temperature::getTempCelcius()
{
return celcius;
}
double Temperature::getTempKelvin()
{
return kelvin;
}
うんthast何1度は華氏であることが、そのは、C Fを読んでいない何らかの理由や、私がなぜ – mystycs
@mystycsを知らないk個になります。それは罰金、それらを読んでいるように見えます。この提案を試しましたか? –
+1これは、毎回その順序でメソッドを呼び出さないと、次の問題が解決されます;-) – AJG85