那里错了??????????
#include <iostream>
using namespace std;
void main()
{
enum my { 'a ', 'b ', 'c ', 'd '};
my one;
cin> > one;
switch (one)
{
case 'a ':
cout < < "1 " < <endl; break;
case 'b ':
cout < < "2 " < <endl; break;
case 'c ':
cout < < "3 " < <endl; break;
case 'd ':
cout < < "4 " < <endl; break;
}
}
[解决办法]
把所有的单引号去掉,就ok了
enum第一个默认是0,
你case a 输出1莫意思?
[解决办法]
enum my { a = 'a ',b,c,d};
...
case a: ...
...
[解决办法]
#include <iostream>
using namespace std;
void main()
{
enum my {a,b,c,d};
char one;
cin> > one;
switch (one)
{
case 'a ':
cout < < "1 " < <endl; break;
case 'b ':
cout < < "2 " < <endl; break;
case 'c ':
cout < < "3 " < <endl; break;
case 'd ':
cout < < "4 " < <endl; break;
}
}
这样就对了~~~
[解决办法]
你定义的枚举变量要赋初值,类似于one=a,one=b等等,枚举类型中不能用常量定义,只能写成
Vitin(卫亭) 的那种或enum my{a,b,c,d};
#include <iostream>
using namespace std;
void main()
{
enum my {a=1,b,c,d};
my one;
one=b;
switch (one)
{
case 1:
cout < < "1 " < <endl; break;
case 2:
cout < < "2 " < <endl; break;
case 3:
cout < < "3 " < <endl; break;
case 4:
cout < < "4 " < <endl; break;
}
}
[解决办法]
楼上的,你怎样接收字母?
这是我的做法:
#include <iostream>
using namespace std;
int main( )
{
enum my {a,b,c,d};
char one;
cout < < "输入一个字母\n ";
cin> > one;
while(one> = 'a '&&one <= 'd ')
{
switch (one)
{
case 'a ':
cout < < "1 " < <endl; break;
case 'b ':
cout < < "2 " < <endl; break;
case 'c ':
cout < < "3 " < <endl; break;
case 'd ':
cout < < "4 " < <endl; break;
}
cout < < "输入一个字母\n ";
cin> > one;
}
getchar();
getchar();
}
编译通过。