1

目前这对我来说是一个越来越恼火的来源,当我按下案例的相应按钮(它们在上面初始化)时,它们实际上并没有执行并且我被困在菜单中。

我确信这非常简单,我只是没有看到它。

编辑:根据要求添加更多

const int POKER = 1;
const int EVAL = 2;
const int EXIT = 3;
const char FIVE_CARD = 'a';
const char TEXAS = 'b';
const char OMAHA = 'c';
const char SEVEN_CARD = 'd';
const char GO_BACK = 'e';
const char MENU[] = "\nPlease choose an option from the following:\n"
                    "1) Play Poker\n2) Set Evaluation Method\n3) Quit\n: ";
const char POKER_MENU[] = "\nPlease choose your game:\n"
                          "a) 5 Card Draw\nb) Texas Hold 'Em\nc) Omaha High\n"
                          "d) 7 Card Stud\ne) Go back\n: ";
int main()
{
int choice = 0;
char poker_choice;

do
{
    choice = askForInt(MENU, EXIT, POKER);
    switch(choice)
    {
        case POKER :
            do
            {
                choice = askForChar(POKER_MENU, GO_BACK, FIVE_CARD);
                switch(poker_choice)
                {
                    case FIVE_CARD :
                        std::cout << "Not implemented yet" << std::endl;
                        break;
                    case TEXAS :
                        std::cout << "Not implemented yet" << std::endl;
                        break;
                    case OMAHA :
                        std::cout << "Not implemented yet" << std::endl;
                        break;
                    case SEVEN_CARD :
                        std::cout << "Not implemented yet" << std::endl;
                        break;
                    case GO_BACK :
                        break;
                }
            }while(poker_choice != GO_BACK);
        case EVAL :
            std::cout << "Not implemented yet" << std::endl;
            break;
        case EXIT :
            break;
    }
}while(choice != EXIT);
4

3 回答 3

5

choice = askForChar(POKER_MENU, GO_BACK, FIVE_CARD);
应该
poker_choice = askForChar(POKER_MENU, GO_BACK, FIVE_CARD);

于 2013-09-10T13:56:01.553 回答
0

既然你提到这是在一个方法中,

这里有几件事要检查;

  • 进入方法后,只需打印 poker_choice 并查看您的值是否正确传递。
  • 检查是否所有情况 FIVE_CARD, TEXAS 都被声明为相同数据类型的常量。
于 2013-09-10T13:51:19.627 回答
0

您的错误似乎在这一行:

choice = askForChar(POKER_MENU, GO_BACK, FIVE_CARD);

poker_choice您在您的测试中,switch但您将值分配给choice.

它应该是:

   poker_choice = askForChar(POKER_MENU, GO_BACK, FIVE_CARD);
// ^^^^^^

   switch(poker_choice)
   // ...
于 2013-09-10T14:01:38.267 回答