嵌套做while循环

时间:2016-01-27 18:14:59

标签: c do-loops

所以我一直在努力做一个包含更多子菜单的菜单。主菜单是do while循环,因此如果用户试图输入不相关的输入,它将让他重新进入。我想知道我是否可以使用子菜单做同样的事情,但即使我写了一个有效的输入,子菜单循环仍然继续。这是代码:

do
{

    printf("Enter your choice: ");
        scanf(" %d", &choice1);
        switch (choice1)
        {



            case (1) :

             do {
                    printf("4 printfs of choices");


                    printf("Enter your choice: ");
                        scanf(" %d", &choice2);


                switch (choice2)
                        {

                case (1):
                        {
                        stuff
                        }
                    break;

               case (2) :
                       {
                        stuff
                       }
                    break;

              case (3) :
                       {
                        stuff
                       }
                    break;

              case (4) :
                       {
                         exit(0);
                       }

               default :
                       {
                         printf("Sorry that is not a valid choice!\n");
                       }
                       break;
                }
            } while ((choice2 > 0) || (choice2 < 5));
        break;

还有另一个结束主循环而不是 我的担忧

2 个答案:

答案 0 :(得分:2)

  

(choice2&gt; 0)|| (选择2&lt; 5)

总是如此,你可能意味着&&

答案 1 :(得分:1)

我想你想要while ((choice2 < 1) || (choice2 > 4));