【问题标题】:How to go back to menu using case in switch case in C如何在C中的switch case中使用case返回菜单
【发布时间】:2016-09-26 21:37:22
【问题描述】:

如何在不使用 GOTO 命令的情况下使用 switch case 中的 case 返回菜单。这就是示例:

while(1){
  printf("1: Basic Math\n2. Intermediate Math\n3. Advance Math");
  printf("Enter your choice: ");
  int choice;
  scanf("%d", &choice);

  switch(choice)
    int theChoices;
    case 1:
      printf("1. Add\n 2. Subtract\n3. Go back to menu");
      scanf("%d", &theChoices);

      switch (theChoices) {
         case 1:
           //calculation ...
         case 2:
           //calculation ...
         case 3:
           // Go Back to menu which is Basic math, Intermediate Math, Advance math
           // ***** I want to know how do i get back to the main menu. *****
    case 2:
    // ....
// ....................

所以我的问题再次是如何使用 case 3 返回菜单。当我尝试使用关键字 break 时,它会在我选择 case 3 时自动关闭程序。请帮助。

【问题讨论】:

  • while ((option = show_menu_and_return_option()) != QUIT_OPTION) ...
  • 我投票决定将此问题作为离题结束,因为它没有显示任何努力请先尝试+搜索.
  • 您的代码不完整。 Switch 语句未关闭。重复case 2:。你没有展示你如何处理 case 1:case 2: 我认为,给出了定义的行为。
  • 对不起先生,但你怎么能说它没有努力?我尝试了所有方法,但我做不到。我也试过搜索。所以我创建了一个 stackoverflow 帐户来帮助我解决问题。
  • 嗨,用户。我遇到了不同的问题。我试着用最简单的方式解释,以了解你们所有人。 :)。我想知道如何使用内部开关盒返回菜单。

标签: c while-loop switch-statement goto


【解决方案1】:

请改用continue;。它会跳出所有cases 并继续执行它们之后的代码,这将使程序回到while (1) 之后的第一行。不要忘记用break; 关闭每个case

【讨论】:

  • 先生,继续按钮只会转到内部开关盒而不是菜单
  • @Big.D,别忘了用break;关闭每个 case
  • 先生,我刚刚解决了我的问题。而不是使用嵌套的开关盒。我使用 else-if。然后继续;。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多