结构体数组作为参数传递出了问题。error C2664: 'FillCard' : cannot convert parameter 1 from 'struc

gilnuy0106 2011-06-15 07:01:10
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>

struct CARD
{
char suit[10];
char face[10];
};
void Deal(struct card *wCard);
void Shuffle(struct card *wCard);
void FillCard(struct card wCard[],char *wFace[],char *wSuit[]);
main()
{
char *suit[]={"Spades","Hearts","Clubs","Diamonds"};
char *face[]={"A","2","3","4","5","6","7","8","9","10","Jack","Queen","King"};
int i;
struct CARD card[52];

srand (time(NULL));
FillCard(card,face,suit);//买牌
Shuffle(card);//洗牌
Deal(card);//发牌
}

void FillCard(struct CARD wCard[],char *wFace[],char *wSuit[])
{
int i;
for(i=0;i<52;i++)
{
strcpy(wCard[i].suit,wSuit[i/13]);
strcpy(wCard[i].face,wFace[i%13]);
}
}

void Shuffle(struct CARD *wCard)
{
int i,j;
struct card temp;
for(i=0;i<52;i++)
{
j=rand()%52;
temp=wCard[i];
wCard[i]=wCard[j];
wCard=temp;
}
}

void Deal(struct CARD *wCard)
{
int i;
for(i=0;i<52;i++)
{
printf("%10s%10s\n",wCard[i].suit,wCard[i].face);
}
}
...全文
145 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangsifu2009 2011-06-15
  • 打赏
  • 举报
回复
hoho~`
  • 打赏
  • 举报
回复

struct CARD
{
char suit[10];
char face[10];
};
void Deal(struct CARD *wCard);
void Shuffle(struct CARD *wCard);
void FillCard(struct CARD wCard[],char *wFace[],char *wSuit[]);
main()
{
char *suit[]={"Spades","Hearts","Clubs","Diamonds"};
char *face[]={"A","2","3","4","5","6","7","8","9","10","Jack","Queen","King"};
int i;
struct CARD card[52];

srand (time(NULL));
FillCard(card,face,suit);//买牌
Shuffle(card);//洗牌
Deal(card);//发牌
}

void FillCard(struct CARD wCard[],char *wFace[],char *wSuit[])
{
int i;
for(i=0;i<52;i++)
{
strcpy(wCard[i].suit,wSuit[i/13]);
strcpy(wCard[i].face,wFace[i%13]);
}
}

void Shuffle(struct CARD *wCard)
{
int i,j;
struct CARD temp;
for(i=0;i<52;i++)
{
j=rand()%52;
temp=wCard[i];
wCard[i]=wCard[j];
wCard[j]=temp;
}
}

void Deal(struct CARD *wCard)
{
int i;
for(i=0;i<52;i++)
{
printf("%10s%10s\n",wCard[i].suit,wCard[i].face);
}
}



都是些基本的拼写错误,自己好好对对吧。
我这个是更正可以编译过的。
  • 打赏
  • 举报
回复
void FillCard(struct card wCard[],char *wFace[],char *wSuit[]);
该为
void FillCard(struct CARD wCard[],char *wFace[],char *wSuit[]);
因为不识别card
ryfdizuo 2011-06-15
  • 打赏
  • 举报
回复
lz 结贴吧。。。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>

struct CARD
{
char suit[10];
char face[10];
};
void Deal(struct CARD *wCard);
void Shuffle(struct CARD *wCard);
void FillCard(struct CARD wCard[], char *wFace[],char *wSuit[]);

void main()
{
char *suit[]={"Spades","Hearts","Clubs","Diamonds"};
char *face[]={"A","2","3","4","5","6","7","8","9","10","Jack","Queen","King"};
int i;
struct CARD card[52];

srand ( time(NULL));
FillCard(card,face,suit);//买牌
Shuffle(card);//洗牌
Deal(card);//发牌
}

void FillCard(struct CARD wCard[],char *wFace[],char *wSuit[])
{
int i;
for(i=0;i<52;i++)
{
strcpy(wCard[i].suit,wSuit[i/13]);
strcpy(wCard[i].face,wFace[i%13]);
}
}

void Shuffle(struct CARD *wCard)
{
int i,j;
struct CARD temp;
for(i=0;i<52;i++)
{
j=rand()%52;
temp = wCard[i];
wCard[i] = wCard[j];
wCard[j] = temp; //少了[j]
//wCard = temp;
}
}

void Deal(struct CARD *wCard)
{
int i;
for(i=0;i<52;i++)
{
printf("%10s%10s\n",wCard[i].suit,wCard[i].face);
}
}
ryfdizuo 2011-06-15
  • 打赏
  • 举报
回复
void Deal(struct card *wCard);
void Shuffle(struct card *wCard);
void FillCard(struct card wCard[],char *wFace[],char *wSuit[]);
CARD全部大写

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧