Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在函数中制作一副卡片_C - Fatal编程技术网

C 在函数中制作一副卡片

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

我正在尝试做一个函数,使一副牌

我必须使用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 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)绝对没有编译的机会。如果您需要帮助,请发布您的真实代码,请参阅帮助中心中的。