c++;温度转换问题总是相同的结果 新的,我正在尝试做一个C++代码,把法兰西变成了CelcIUS。
c++;温度转换问题总是相同的结果 新的,我正在尝试做一个C++代码,把法兰西变成了CelcIUS。,c++,C++,#include <iostream> #include <cassert> using namespace std; int main(){ double degreesF{0}; double degreesC{0}; double temp; //Define relationship between C and F degreesC = 5.0/9*(degreesF -32); //Prompt user fo
#include <iostream>
#include <cassert>
using namespace std;
int main(){
double degreesF{0};
double degreesC{0};
double temp;
//Define relationship between C and F
degreesC = 5.0/9*(degreesF -32);
//Prompt user for degreesF
cout << "Enter the temperate in degrees F: ";
cin >> temp;
degreesC = temp;
//Report the result
cout << temp << endl;
return 0;
};
#包括
#包括
使用名称空间std;
int main(){
双度f{0};
双级{0};
双温;
//定义C和F之间的关系
degreesC=5.0/9*(degreesF-32);
//提示用户输入degreesF
温度;
degreesC=温度;
//报告结果
问题出在哪里
degreesC = 5.0/9*(degreesF -32);
cout << temp << endl;
BucaseCux>= /Cord>是C和C++中的赋值操作符,这不是关系的定义。当代码> DEXESF <代码> 0 < /代码>时,它执行了。< /P>
后来
degreesC
vlaue被替换为temp
的值。无需计算,只需复制数据
主要的问题在于
degreesC = 5.0/9*(degreesF -32);
cout << temp << endl;
cout#包括
#包括
使用名称空间std;
int main(){
双度f=0;
双梯度=0;
//提示用户输入degreesF
cout>degreesF;
//定义C和F之间的关系
degreesC=5.0/9*(degreesF-32);
//报告结果
C++中的CUT< P> >代码> = /COD>是赋值操作符(它使左手边的逻辑等于右手边的)。
很明显,您希望声明degreesC
表示转换函数而不是赋值
这里有一个方法:
#include <iostream>
#include <cassert>
using namespace std;
int main(){
double degreesF{0};
double temp;
//Define relationship between C and F
auto degreesC = [](double degreesF) { return 5.0/9*(degreesF -32); };
//Prompt user for degreesF
cout << "Enter the temperate in degrees F: ";
cin >> degreesF;
temp = degreesC(degreesF);
//Report the result
cout << temp << endl;
return 0;
};
//定义C和F之间的关系
-这个评论是假的。你需要在input.thx之后进行计算。这个应用程序在android market place上的售价是9.99美元,因为你帮了我折扣;)给了你一个勾号,让你解释我误入歧途的地方。举个例子。它看起来太复杂了。它不是编译时无错误:“degreesC”未命名类型。degressC未在此范围内声明。@DanielKratz您可能不是使用-std=c++11进行编译的。lambda函数是c++11添加的。谢谢您修复了它。
#include <iostream>
#include <cassert>
using namespace std;
int main(){
double degreesF{0};
double temp;
//Define relationship between C and F
auto degreesC = [](double degreesF) { return 5.0/9*(degreesF -32); };
//Prompt user for degreesF
cout << "Enter the temperate in degrees F: ";
cin >> degreesF;
temp = degreesC(degreesF);
//Report the result
cout << temp << endl;
return 0;
};
Enter the temperate in degrees F: 89
31.6667