셀맨1 2016. 12. 28. 01:27
반응형

포커 게임에 사용되는 카드를 구조체 card로 정의하고 52개의 카드를 구조체의 배열로 나타내라. 52개의 카드를 적절한 값으로 초기화하고 값들을 출력하는 프로그램을 작성하라. card 구조체는 다음과 같은 멤버값을 가진다고 가정하라. 먼저 카드의 수는 정수로 표현되며 멤버의 이름은 value라고 하라. value는 1부터 13까지의 값을 가질 수 있다. 카드의 타입은 하나의 문자로 표현되며 멤버의 이름은 suit라고 하라. suit는 'c', 'd', 'h', 's'의 값을 가질 수 있다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <stdio.h>
#define SIZE 52
typedef struct card{
    int value;
    char suit;
}CARD;
void initialize (CARD a[], char s[]);
void print(CARD a[]);
int main(void)
{
    CARD all[SIZE];
    char su[4]={'c','d','h','s'};
    initialize(all,su);
    print(all);
    return 0;
}
void initialize (CARD a[], char s[])
{
int i,j,k;
k=0;
for(i=0;i<4;i++)
{
for(j=1;j<=13;j++)
{a[k].suit=s[i];
 a[k].value=j;
 k++;
}
}}
void print(CARD a[])
{
int k=0;
for(k=0;k<SIZE;k++)
printf("%c %d\n", a[k].suit, a[k].value);
}
cs




반응형