我的朋友写了一个c ++代码,它没有用,他来找我帮忙。问题是我不知道c ++ :)我对python更感兴趣,我不想很快学习c ++,所以我来这里寻求帮助:)这里是代码
#include<iostream>
using namespace std;
int main (){
char a ;
cin >> a ;
switch (a) {
case '+' :
int x , y , result ;
cout << "Enter A number >> " ;
cin >> x ;
cout << endl ;
cout << "Enter A number >> " ;
cin >> y ;
cout << endl ;
result = x+y ;
cout << "The Answer Is >> " << result << endl ;
break ;
case '-' :
int x , y , result ;
cout << "Enter A number >> " ;
cin >> x ;
cout << endl ;
cout << "Enter A number >> " ;
cin >> y ;
cout << endl ;
result= x-y ;
cout << "The Answer Is >> " << result << endl ;
break ;
default :
cout << "Please choose the right operaions !" << endl ;
}
return 0 ;
}
答案 0 :(得分:2)
您在一个语句块中多次定义int x, y, result
。合并定义并移动到函数的顶部,然后它将编译。像:
char a;
int x, y, result;
答案 1 :(得分:1)
case '+' :
int x , y , result ;
cout << "Enter A number >> " ;
cin >> x ;
cout << endl ;
cout << "Enter A number >> " ;
cin >> y ;
cout << endl ;
result = x+y ;
cout << "The Answer Is >> " << result << endl ;
break ;
不起作用,但您可以通过添加范围来编译它:
case '+' :
{
int x , y , result ;
cout << "Enter A number >> " ;
cin >> x ;
cout << endl ;
cout << "Enter A number >> " ;
cin >> y ;
cout << endl ;
result = x+y ;
cout << "The Answer Is >> " << result << endl ;
}
break ;
...
但是代码应该重新构建,因为有很多重复的代码。
答案 2 :(得分:0)
您在语句“switch”中声明了int x,y和int类型的结果2次。声明它们是全局变量或在switch语句之外(在main()函数内)。
答案 3 :(得分:0)
在开关块内定义变量不起作用,这里是why