C 在函数中制作一副卡片
我正在尝试做一个函数,使一副牌 我必须使用struct定义一张卡与西装和脸的关系,然后将struct应用于制作一副卡的函数。 它必须像这样打印甲板:C 在函数中制作一副卡片,c,C,我正在尝试做一个函数,使一副牌 我必须使用struct定义一张卡与西装和脸的关系,然后将struct应用于制作一副卡的函数。 它必须像这样打印甲板: 1H, 2C, 3D, 4S,... // the letters being for spades, hearts, etc. 这是我目前的代码: enum Value{ C, D, H, S }; enum Suit{ 1, 2, 3, 4, 5, 6, 7, 8, 9, J, Q, K, A }; struct card { Value
1H, 2C, 3D, 4S,... // the letters being for spades, hearts, etc.
这是我目前的代码:
enum Value{
C, D, H, S
};
enum Suit{
1, 2, 3, 4, 5, 6, 7, 8, 9, J, Q, K, A
};
struct card {
Value val;
Suit suit;
};
void originalDeck (struct card cards[]){
char deck[DeckSize][SuitSize];
for (int i = 0; i < DeckSize ; ++i) {
for (int j = 0; j < SuitSize; ++j) {
}
}
}
枚举值{
C、 D,H,S
};
枚举诉讼{
1,2,3,4,5,6,7,8,9,J,Q,K,A
};
结构卡{
价值增值;
西服;
};
void originalDeck(结构卡[]){
char deck[DeckSize][SuitSize];
对于(int i=0;i
我在为卡片的值分配面的for循环中遇到了问题。我要么得到无限循环,要么它只打印一张卡。在第二个for语句之后添加:
printf("%1c%c ",card.suit,card.val);
您还需要指定DeckSize和SuiteSize,最好使用define语句,因为它们是常量:
#define DeckSize 4
#define SuitSize 13
我会把甲板做成一个整数数组
0 = ace of clubs
1 = 2 of clubs
...
50 = Queen of spades
51 = King of spades
展示卡片
char suit = "CDHS"[card % 13]
char value="A23456789TJQK"[card%4]
问题是什么?你的套装和价值枚举是反向的…牌组不应该是一个“结构卡”数组而不是一个字符数组吗?另外,在嵌套循环中您会做什么?“我对将面分配给卡的值的for循环有问题”-因为循环不包含任何代码。这个问题中的最后一句不是真的,因为
Suit
enum(应该是Value
enum)绝对没有编译的机会。如果您需要帮助,请发布您的真实代码,请参阅帮助中心中的。