C - 没有从菜单方法调用某些方法

时间:2014-04-16 07:15:04

标签: c

我正在为uni写一个二十一点程序,有些方法根本就没有被调用。 此菜单方法是assign1.c文件的一部分,其中包含main方法。其他方法在其他.c文件中,但我已经多次检查了我的代码的#include部分,并且它们都是100%正确的。 菜单打印正常,我正确设置为输入,但是当调用适当的if语句时,其中的方法不是。这是代码

编辑:特别是playGame()方法,我理解其他人没有被正确调用,但游戏游戏给了我最大的悲痛。

int mainmenu(){
int i = 0;
int j = 0;
while (j<1) {
    printf("\n");
    printf("Black Jack - Main Menu\n");
    printf("1) Play Game\n");
    printf("2) Display Scores\n");
    printf("3) Reset Scores\n");
    printf("4) Quit\n");
    printf("\n" "Make your selection: ");

scanf("%d", &i);
if (i==1) {
    Player* playGame(Player *computer, Player *human, Card *deck);
    int testmethod();
}
else if (i==2) {
    printScoreBoard();
}
else if (i==3) {
    resetScores();
}
else if (i==4){
    j++;
}
else{
    printf("%s\n",  "Incorrect input, please try again");

    int ch;
    /* remove all characters from the buffer */
    while(ch = getc(stdin), ch!='\n' && ch!=EOF)
        ;
    /* clear the error status of the input pointer */
    clearerr(stdin);

}


}

return 0;

}

如果我调试它只是忽略方法,就好像它们不是可执行代码或其他东西。 任何想法?

1 个答案:

答案 0 :(得分:1)

你实际上并没有调用这些函数,你只是声明它们,例如:

if (i==1) {
    Player* playGame(Player *computer, Player *human, Card *deck);
    int testmethod();
}

应该是:

if (i==1) {
    player = playGame(computer, human, deck);
    testmethod();
}

(显然playercomputerhumandeck需要先前定义/初始化)