-2

私はこれを終わらせるのにとても近いです.少なくとも私はそうなることを願っています。構文とエラーをすべて取り除き、コンパイラーを取り除くことができました。最終的に完了することを期待して開始しましたが、クラッシュします...

それがどのように機能すると想定されているかの概要を少し説明するために、「デッキ」から 5 つの値を出力すると仮定します。次に、ランダムに再度出力をシャッフルします (シャッフルされたことを示すため)。

私はとても近いです。味わえます!

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SIZE 52

enum faces{Ace = 0, Jack = 10, Queen, King};
char * facecheck(int d); 
void shuffle( int deck[]);
void draw(int deck[SIZE]); 
void cards(int hand);
int main() 
{ 
    int deck[SIZE], i, n;
    char suits[4][9] = 
    {
        "Hearts",
        "Diamonds",
        "Clubs",
        "Spades"};


    srand( time( NULL ) ) ;

    for(i = 0; i<SIZE; i++)
    {
        deck[i] = i;
        i++;
    };

    draw(deck);
    shuffle(deck); 
    draw(deck);




    return 0; 
}  

char * facecheck(int d)
{
    static char * face[] = 
    {
        "Ace",
        "Jack",
        "Queen",
        "King" };

    if(d == Ace)
        return face[0];
    else
    {
        if(d == Jack) 
            return face[1];
        else
        {
            if(d == Queen)
                return face[2];
            else 
            { 
                if(d == King)
                    return face[3];
            }
        }
    }
}



void shuffle( int deck[]) 
{
     int i, j, temp; 

     for(i = 0; i < SIZE; i++)
     {
           j = rand() % SIZE; 
           temp = deck[i];
           deck[i] = deck[j];
           deck[j] = temp;
           }
     printf("The deck has been shuffled \n"); 
} 

void draw(int deck[SIZE])
{
     int i; 
     int hand[i];

     for(i = 0; i < 5; i++)
     {
           cards(hand[i]);
           putchar('\n');
           }
}

void cards(hand)
{
     int i; 

         char suits[4][9] = 
    {
        "Hearts",
        "Diamonds",
        "Clubs",
        "Spades"};

         for(i=0; i<SIZE; i++)
    {       
        if(i%13 == 0 || i%13 == 10 || i%13 == 11 || i%13 == 12)
            printf("%s ", facecheck(i%13) );
        else printf("%d ", i%13+1);
        printf("of %s \n", suits[i/13]);
    }

}
4

3 に答える 3

0
for(i = 0; i<SIZE; i++)
{
    deck[i] = i;
    i++;
};

forループのセミコロンのエラー?

for(i = 0; i<SIZE; i++)
{
    deck[i] = i;
    i++; //one of the answer stated to remove this sentence
}
于 2013-04-06T17:45:36.847 に答える