2 qq 34085207 qq_34085207 于 2016.02.29 16:42 提问

请问下面的代码怎么修改,请大神赐教~~

目标:扑克牌的结构表示、
代码如下:
enum suits{CLUBS,DIAMONDS,HEARTS,SPADES};
struct card
{
enum suits suit;
char value[3];
};
struct card deck[52];
char cardval[][3]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
char suitsname[][9]={"CLUBS","DIAMONDS","HEARTS","SPADES"};
main()
{
int i,j;
enum suits s;
clrscr();
for(i=0;i<=12;i++)
for(s=CLUBS;s<=SPADES;s++)
{
j=i*4+s;
deck[j].suit=s;
strcpy(deck[j].value,cardval[i]);
}
for(j=0;j<52;j++)
printf("(%s%3s)%c",suitsname[deck[j].suit],deck[j].value,j%
4==3?'\n':'\t');
puts("\nPress any key to quit...");
getch();
}
图片说明

2个回答

caozhy
caozhy   Ds   Rxr 2016.02.29 16:45

clrscr();是turbo c才有的

caozhy
caozhy 回复qq_34085207: 不知道你这个是什么编译器,如果是VC,可以用system("cls")
接近 2 年之前 回复
qq_34085207
qq_34085207 就是说我运行的环境下,clrscr()函数不能运行???http://www.manonggu.com/biancheng/155
接近 2 年之前 回复
qq_34085207
qq_34085207 就是说,这个环境运行不了clrscr
接近 2 年之前 回复
qq423399099
qq423399099   Ds   Rxr 2016.02.29 17:07

枚举没有重载过++,直接++是不行的
枚举主要是用来判断类型、状态等地方,如果一定要遍历枚举值,那这个地方不适合枚举,遍历不是枚举的特性
枚举不是数组,只是符号集,相当于你定义的时候就确定了,就算遍历你也得知道所有的符号名,所以你只能自己定义一个数组,然后把枚举值一个一个赋给数组元素,然后对数组进行遍历操作。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!