편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2021.05.27

    c언어 포커게임 포카드 질문입니다.


    #include <stdio.h>
    
    enum SUIT
    {
        SPADE,
        DIAMIND,
        HEART,
        CLOVER
    };
    
    struct Card
    {
        int suit, rank;
    };
    
    int main()
    {
        struct Card deck[5];
        enum suit s;
        s = SPADE;
        enum suit d;
        d = DIAMIND;
        enum suit h;
        h = HEART;
        enum suit c;
        c = CLOVER;
        int cnt, i;
        int yes = 0;
        for (cnt = 0; cnt < 5; cnt++)
        {
            printf("%d번째 카드의 숫자와 무늬를 입력하세요", cnt + 1);
            scanf("%d %d", &deck[cnt].suit, &deck[cnt].rank);
        }
    
        for (cnt = 0; cnt < 5; cnt++)
        {
            for (i = 0; i < 5; i++)
            {
                if (deck[cnt].rank == deck[i].rank)
                {
                    yes++;
                }
            }
        }
        if (yes >= 5)
        {
            printf(" 포카드임 ");
        }
    }
    

    구조체 struct Card { int suit; int rank; };로 쓰고 멤버 suit는 카드의 무늬(“spade”, “diamond”, “heart”, “clover”)를 저장하기 위한 변수로 사용자는 각각 ‘s’, ‘d’, ‘h’, ‘c’의 값으로 입력한다

    내부에서는 enum SUIT {SPADE, DIAMIND, HEART, CLOVER}의 열거된 값으로 저장한다. 멤버 rank(‘A’, 2-10, ‘J’, ‘Q’, ‘K’) 는 정수 1-13의 값으로 입력하고 저장한다고 가정하고 포카드인지 여부에 대해 프로그래밍 하세요.

    동일 한 카드를 입력할 경우에는 “중복”, 불가능한 카드를 입력하면 “오류” 라고 출력하 시오. “중복”과 “오류”가 동시에 발생하는 경우에는 “오류”로 출력하시오


    일단 제가 짜봤는데 구조체 열거형에 대해 이해를 못하겠습니다. c코딩 부탁드리고 설명도 약간 적어주시면 감사하겠습니다.

  • 프로필 알 수 없는 사용자님의 편집
    날짜2021.05.27

    c언어 포커게임 포카드 질문입니다.


    #include<stdio.h>
    
    enum SUIT {SPADE, DIAMIND, HEART, CLOVER};
    
    struct Card 
    { 
    int suit,rank; 
    };
    
    int main()
    {
    struct Card deck[5];
    enum suit s;
        s = SPADE;
        enum suit d;
        d = DIAMIND;
        enum suit h;
        h = HEART;
        enum suit c;
        c = CLOVER;
    int cnt,i;
    int yes = 0;
    for (cnt = 0; cnt < 5; cnt++)
    {
    printf("%d번째 카드의 숫자와 무늬를 입력하세요",cnt+1);
    scanf("%d %d",&deck[cnt].suit ,&deck[cnt].rank);
    }
    
    for (cnt = 0; cnt < 5; cnt++)
    {
    for (i = 0; i < 5; i++)
    {
    if (deck[cnt].rank == deck[i].rank)
    {
    yes++;
    }
    }
    }
    if (yes >= 5)
    {
    printf(" 포카드임 ");
    }
    }
    

    구조체 struct Card { int suit; int rank; };로 쓰고 멤버 suit는 카드의 무늬(“spade”, “diamond”, “heart”, “clover”)를 저장하기 위한 변수로 사용자는 각각 ‘s’, ‘d’, ‘h’, ‘c’의 값으로 입력한다

    내부에서는 enum SUIT {SPADE, DIAMIND, HEART, CLOVER}의 열거된 값으로 저장한다. 멤버 rank(‘A’, 2-10, ‘J’, ‘Q’, ‘K’) 는 정수 1-13의 값으로 입력하고 저장한다고 가정하고 포카드인지 여부에 대해 프로그래밍 하세요.

    동일 한 카드를 입력할 경우에는 “중복”, 불가능한 카드를 입력하면 “오류” 라고 출력하 시오. “중복”과 “오류”가 동시에 발생하는 경우에는 “오류”로 출력하시오

    일단 제가 짜봤는데 구조체 열거형에 대해 이해를 못하겠습니다... c코딩 부탁드리고 설명도 약간 적어주시면 감사하겠습니다.