请会C++的进来一下哈!一个关于枚举的问题!谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/01 04:24:27
#include<iostream>
using namespace std;
enum game_result{win,lose,tie,cancel};
int main()
{
enum game_result result;
enum game_result omit = cancel;
int count;
for(count=win;count<cancel;count++)
{
result = (game_result)count;
if(result == omit)
{
cout<<"The game cancelled\n";
}
else
{
cout<<"The game played";
if(result == win)
cout<<"and we won!";
if(result == lose)
cout<<"and we lose!";
cout<<"\n";
}
}
}

代码是这样的。本来应该输出有4排的,最后一排应该是“The game cancelled”
但是,为什么输出的时候只有3排了,少了一排呢?
我用VC 6 还有DEV-C++都编译过,都是...
这个代码也是照书上打的
请指点下哈!谢谢!

应该是:小于等于而不是小于

for(count=win;count<=cancel;count++)

#include<iostream>
using namespace std;
enum game_result{win,lose,tie,cancel};
int main()
{
enum game_result result;
enum game_result omit = cancel;
int count;

for(count=win;count<=cancel;count++) /// < 改成 <=
{
result = (game_result)count;
if(result == omit)
{
cout<<"The game cancelled\n";
}
else
{
cout<<"The game played";
if(result == win)
cout<<"and we won!";
if(result == lose)
cout<<"and we lose!";
cout<<"\n";
}
}
}