为什么这段代码不能运行? [初学者]

时间:2014-01-05 00:34:17

标签: c++

我昨天刚拿起“跳入C ++”并决定自己出去冒险。很久以前熟悉Java的“if”语句,我这样做是为了好玩:

#include <iostream>

using namespace std;

int main()
{
    int first;
    int second;
    int choice;
    int final;
    cout << "Enter your first number:" <<;
    endl;
    cin >> first >> ;
    cout << "Enter your second number:" <<;
    endl;
    cin >> second >> ;
    cout << "Would you like to 1. Add 2. Subtract 3. Multiply 4. Or divide these                numbers?" << endl;
if (choice = 1){
    final = first + second;
    cout << "Your answer is: " << final <<;
    return 0;
}
if (choice = 2){
    final = first - second;
    cout << "Your answer is: " << final <<;
    return 0;
}
if (choice = 3){
    final = first * second;
    cout << "Your answer is: " << final <<;
    return 0;

}
if (choice = 4){
    final = first / second;
    cout << "Your answer is: " << final <<;
    return 0;
}
else{
    cout << "You probably typed something wrong! Remember, hit your number and hit enter, nothing else!" << endl;
    cout << "Ending program." << endl;
    return 0;
}

}

为什么这个程序不能正常运行?

5 个答案:

答案 0 :(得分:4)

检查相等性的运算符是==,而不是=

答案 1 :(得分:2)

=代表作业,==代表平等考试。将if(choice = 1)更改为if(choice==1),对其余的if语句更改为。

答案 2 :(得分:2)

子句choice = 1将选项赋值为1,然后if语句检查choice是否为非零。这意味着if语句的所有主体都将执行。你的意思是choice == 1,它会检查选项是否等于1。

答案 3 :(得分:2)

在您的if声明中,您应该使用比较运算符(例如==),但您使用的是赋值运算符(=)。

点击此处了解详情:http://en.wikipedia.org/wiki/Operators_in_C_and_C++

答案 4 :(得分:1)

你还有更多问题:

cin >> first >> ;

请注意上一个>>。这不是有效的代码,这是一个语法错误。你的编译器应该已经告诉过你了。

你的计划中有很多这些。删除没有值的最后>><<。这应该可以清除你的大多数错误。