我昨天刚拿起“跳入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;
}
}
为什么这个程序不能正常运行?
答案 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 >> ;
请注意上一个>>
。这不是有效的代码,这是一个语法错误。你的编译器应该已经告诉过你了。
你的计划中有很多这些。删除没有值的最后>>
或<<
。这应该可以清除你的大多数错误。