“预期';'在退货声明后,有人可以告诉我我的代码有什么问题吗?

时间:2015-10-01 03:22:45

标签: c++ compiler-errors

我尝试了最好的水平,但无法弄清楚我的代码出了什么问题。 我收到错误代码"error: expected ' ; ' after return statement."

注意:这是我的第一个节目,除了“你好世界”,任何帮助将不胜感激。

#include <iostream>
using namespace std;

int main() {

int celsius, fahrenheit;

//Get degrees in celsius
cout << "Please input degrees Celsius: \n";
cin >> celsius;

//convert celsius to fahrenheit
fahrenheit = celsius * 1.8 + 32;

//display degrees farhenheit/ thank you message
cout << "\n" << "Degrees Fahrenheit: \n" << fahrenheit << "\n";
cout << "\n" << "Thank you for using my Celsius to Fahrenheit converter. \n" << "\n";

    {
        int yes = 1, no = 0;
        cout << "do you wish to convert again? \n";
        cin >> yes;

        if (yes == 1) {
            return cout << "please enter degrees Celsius" ;
            cin >> celsius;

            //convert celsius to fahrenheit
            fahrenheit = celsius * 1.8 + 32;
            cout << "\n" << "Degrees Fahrenheit: \n" << fahrenheit << "\n";
        } else {
            return cout "fine";
        }
    }
    return 0;
}

3 个答案:

答案 0 :(得分:5)

嗯,你的代码犯了3个错误:

1.在if块中你写了return cout << "please enter degrees Celsius" ;(第31行)。但是cout并没有返回任何东西(详见下面的P.S.)。将其更改为cout << "please enter degrees Celcius";

  1. 在else块中你写了return cout "fine";(第41行)。将其更改为cout << "fine";

  2. 您的代码中有未使用的变量“no”。它只在那里,但不参与代码。删除该变量。

  3. 您的最终代码应如下所示:

    #include <iostream>
    
     using namespace std;
    
       int main()
    {
    
    int celsius, fahrenheit;
    
    //Get degrees in celsius
    cout << "Please input degrees Celsius: \n";
    
    cin >> celsius;
    
    //convert celsius to fahrenheit
    fahrenheit = celsius * 1.8 + 32;
    
    //display degrees farhenheit/ thank you message
    cout << "\n" << "Degrees Fahrenheit: \n" << fahrenheit << "\n";
    cout << "\n" << "Thank you for using my Celsius to Fahrenheit converter. \n" << "\n";
    
    
       int yes = 1;
    
       cout << "do you wish to convert again? \n";
       cin >> yes;
    
            if (yes == 1)
                {
                    cout << "please enter degrees Celsius" ;
                    cin >> celsius;
    
                    //convert celsius to fahrenheit
                    fahrenheit = celsius * 1.8 + 32;
    
                    cout << "\n" << "Degrees Fahrenheit: \n" << fahrenheit << "\n";
                }
                else
                {
                    cout << "fine";
                }
    return 0;
    
    
    }
    

    P.S。运营商“&lt;&lt;&lt;确实返回std::ostream cout对象。此对象可以转换为bool但不能转换为int。但是,由于您对c ++完全不熟悉,因此您不必担心这一点。只需使用我向您展示的代码。

答案 1 :(得分:1)

return之前删除两个垃圾cout,并在<<cout之间添加"fine"

答案 2 :(得分:0)

return cout << "please enter degrees Celsius" ; //line 31
return cout "fine"; //line 41

从两个陈述中删除回报。

cout是ostream课程的对象。您可以详细了解cout here