Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c++;温度转换问题总是相同的结果 新的,我正在尝试做一个C++代码,把法兰西变成了CelcIUS。_C++ - Fatal编程技术网

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