我知道这很简单。但我是C ++的新手。 我需要编写一个程序,将摄氏温度转换为华氏温度并显示它。我教授提供的公式是:华氏=(5/9)*摄氏+32。
#include <iostream>
using namespace std;
int main(){
float ctemp;
cout << "What is the temperature out in Centigrade? ";
cin >> ctemp;
float ftemp = (5/9) * ctemp + 32;
cout << "That is " << ftemp << " in Fahrenheit" << endl;
cin.get();
cin.get();
return 0;
}
无论我为cin ctemp进入什么温度,我都会得到32.我的操作顺序有问题吗?任何帮助赞赏。我知道这很简单,所以请不要在这个问题上解决。
答案 0 :(得分:7)
float ftemp = (5/9) * ctemp + 32;
这一行包含一个小错误。您应该将整数转换为浮点数,因为这是您想要获得的类型。这样的事情可以解决问题:
float ftemp = (5.0f/9.0f) * ctemp + 32.0f;
答案 1 :(得分:-1)
添加到Drew Dormann的回答:从(9.0f/5.0f)
到C
的正确转换是F
。