无法提出“显示功能”或添加功能 - c

时间:2013-04-28 20:02:04

标签: c function printf

完成一个程序并被告知我需要在用户退出后显示cards

尝试让draw返回hand变量并打印出来,然后存储draw()的每个结果,我已将其转换为int;虽然我向你展示了无效的工作功能。

到目前为止,没有任何作用,我迷失了。

void draw(int deck[SIZE], int a) {
    int numCards = 10;
    int i; 
    int hand[numCards];
    int card;
    for(i = 0; i < numCards && top > 0; i++) {
        card = deck[top-1];     
        hand[i] = card; 
        top--;   
    }
    if(a != 0) {
        printcards(card);
    } else {
        for(i = 0; i < numCards && top > 0; i++)
        printcards(card);
    }
}

程序可以打印掉卡片,因为绘制和编辑的版本如下:

int draw(int deck[SIZE], int a) {
    int numCards = 10;
    int i; 
    int hand[numCards];
    int card;
    for(i = 0; i < numCards && top > 0; i++) {
        card = deck[top-1];     
        hand[i] = card; 
        top--;   
    }
    if(a != 0) {
        printcards(card);
    } else {
        for(i = 0; i < numCards && top > 0; i++)
        printcards(card);
    }
    return card; /* or return hand */
}
void printcards(int card) {
    char suits[4][9] = {
        "Hearts",
        "Diamonds",
        "Clubs",
        "Spades"
    };
    if(card%13 == 0 || card%13 == 10 || card%13 == 11 || card%13 == 12) {
        printf("%s ", facecheck(card%13) );
    } else {
        printf("%d ", card%13+1);
    }
    printf("of %s \n", suits[card/13]);
}

此功能是卡的实际打印:

void players(int deck[]) {
    int x;
    int a; 
    int yourhand[10];

    a = 1;

    printf("Player 1 \n"); 
    printf("Your Hand is: \n"); 
    draw(deck, a);
    draw(deck, a);
    while(a == 1) {
        printf("What would you like to do: Press 1 to Draw. 2 to Stay. \n"); 
        scanf("%d" , &x); 
        if(x == 1) {
            draw(deck, a);
        } else { 
            a--;
        }
    }
}

此函数使用用户输入调用draw(),然后需要在else之后,display()之前添加a--或将绘制结果存储到您的手中并打印结果。到目前为止,没有任何工作。

0 个答案:

没有答案