C++ Case语句不执行

C++ Case语句不执行,c++,C++,这对我来说是一个越来越恼火的来源,当我按下相应的按钮时(它们在上面被初始化),它们实际上没有执行,我被困在菜单中 我相信这是荒谬的简单,我只是没有看到它 编辑:根据要求添加更多内容 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

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

我相信这是荒谬的简单,我只是没有看到它

编辑:根据要求添加更多内容

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);
const int POKER=1;
常数int EVAL=2;
const int EXIT=3;
const char FIVE_CARD='a';
const char TEXAS='b';
常量char OMAHA='c';
const char SEVEN_CARD='d';
const char GO_BACK='e';
常量字符菜单[]=“\n请从以下选项中选择一个选项:\n”
“1)玩扑克\n2)设置评估方法\n3)退出\n:”;
const char扑克\u菜单[]=“\n请选择您的游戏:\n”
“a)5张抽牌\nb)德克萨斯州持有\nc)奥马哈高中\n”
“d)7卡螺柱\n)返回\n:”;
int main()
{
int-choice=0;
char poker_选择;
做
{
选择=askForInt(菜单、退出、扑克);
开关(选择)
{
案例扑克:
做
{
choice=askForChar(扑克牌菜单、返回、五张牌);
开关(扑克选择)
{
案例五(u卡):

std::cout既然您提到这是在一个方法中

这里没有什么可以检查的东西


  • 进入该方法后,只需打印poker_选项,然后查看您的值是否正确传递
  • 检查TEXAS FIVE_CARD的所有案例是否声明为相同数据类型的常量

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

这里没有什么可以检查的东西


  • 进入该方法后,只需打印poker_选项,然后查看您的值是否正确传递
  • 检查TEXAS FIVE_CARD的所有案例是否声明为相同数据类型的常量
choice=askForChar(扑克牌菜单,返回,五张牌);

应该是
poker\u choice=askForChar(扑克牌菜单,返回,五张牌);
choice=askForChar(扑克牌菜单,返回,五张牌);

应该是

poker\u choice=askForChar(扑克牌菜单,返回,五张牌);

您的错误似乎在这一行:

choice = askForChar(POKER_MENU, GO_BACK, FIVE_CARD);
开关中测试
poker\u选项
,但将该值分配给
选项

应该是:

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

   switch(poker_choice)
   // ...

您的错误似乎在这一行:

choice = askForChar(POKER_MENU, GO_BACK, FIVE_CARD);
开关中测试
poker\u选项
,但将该值分配给
选项

应该是:

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

   switch(poker_choice)
   // ...

您需要发布整个方法…在switch语句之前打印poker_choice的值以及案例的值。此外,请确保您使用了适当的类型。进入该方法后,只需打印poker_choice并查看您的值是否正确通过。假设所有案例都是相同d的常量ata类型。如果希望看到程序达到该
开关,请添加
默认值
标签。当然
choice=askForChar(扑克牌菜单,返回,五张牌);
应该是
POKER\u choice=askForChar(扑克牌菜单,返回,五张牌)
?您需要发布整个方法…在switch语句之前打印poker\u choice的值以及案例的值。此外,确保您使用了适当的类型。进入方法后,只需打印poker\u choice,并查看您的值是否正确通过。假设所有案例都是t的常量他使用相同的数据类型。如果您想看到程序达到该开关,请添加一个
default
标签。当然
choice=askForChar(扑克牌菜单,返回,五张牌);
应该是
POKER\u choice=askForChar(扑克牌菜单,返回,五张牌);