5453121*31
2019-09-04 09:25
采纳率: 50%
浏览 942

为什么用do-while会跳出循环啊?

我先选择A进入子菜单,然后选择D返回上一界面,结果会先提示输入有误再返回
我调试了一下,发现是最下面,也就是这段代码最外循环的else里的语句,
哪里出错了啊

    case '3':

                    do{
                     system("cls");
                      _3menu( );
                      char er;
                      printf("\t\t\t选择:");
                      scanf(" %c",&er);
                      getchar();
                      if(er=='A')
                      {
                          do{
                            system("cls");
                              _3Amenu();
                               char rt;
                           scanf(" %c",&rt);
                            if(rt=='A')
                            {
                             man_set();            xunhuan_8=true;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                            }
                            else if(rt=='B')
                            {
                             man_modify();         xunhuan_8=true;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                            }
                            else if(rt=='C')
                            {
                             man_delete();             xunhuan_8=true;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                            } 
                            else if(rt=='D')
                            {
                                                    xunhuan_8=false; fflush(stdin); xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                            }
                           else 
                           {
                            printf("输入有误!");    getch();    xunhuan_8=true;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                           }
                          }
                          while(xunhuan_8);
                      }
                      if(er=='B')
                      {
                          do{
                            system("cls");
                              _3Bmenu();
                               char ty;
                           scanf(" %c",&ty);
                            if(ty=='A')
                            {
                            system("cls"); room_set();             xunhuan_9=true;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                            }
                            else if(ty=='B')
                            {
                            system("cls"); room_modify();          xunhuan_9=true;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                            }
                            else if(ty=='C')
                            {
                            system("cls"); room_delete();              xunhuan_9=true;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                            } 
                            else if(ty=='D')
                            {
                                                     xunhuan_9=false;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                            }
                           else 
                           {
                            printf("输入有误!");   getch();     xunhuan_9=true;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                           }
                          }
                          while(xunhuan_9);
                      }
                      if(er=='C')
                      {
                          do{
                             system("cls");
                              _3Cmenu();
                               char yu;
                           scanf(" %c",&yu);
                            if(yu=='A')
                            {
                            system("cls"); hotel_set();            xunhuan_10=true;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                            }
                            else if(yu=='B')
                            {
                            system("cls"); hotel_modify();         xunhuan_10=true;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                            }
                            else if(yu=='C')
                            {
                            system("cls"); hotel_delete();             xunhuan_10=true;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                            } 
                            else if(yu=='D')
                            {
                                                     xunhuan_10=false;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                            }
                           else 
                           {
                            printf("输入有误!");   getch();     xunhuan_10=true;  xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                           }
                          }
                          while(xunhuan_10);
                      }
                       else if(er=='D')
                      {
                       system("cls"); xunhuan_7=false;   xunhuan_1=true; xunhuan_2=true; 
                       }
                 else
                 {
                   printf("输入有误!");     xunhuan_1=true; xunhuan_2=true; xunhuan_7=true;
                 }
                    }
                 while(xunhuan_7);
                     break;

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

5条回答 默认 最新

相关推荐 更多相似问题