C 如何在退出时再次显示主菜单?
我试图为我的程序制作一个简单的菜单,在我进入退出后,我可以在两种模式之间轻松切换 当前的问题是,一旦我进入退出,我的程序就会显示菜单,但一旦我选择了一个选项,它就会继续关闭 我在这里找到了类似的帖子,但我似乎尝试了给出的答案,没有运气C 如何在退出时再次显示主菜单?,c,C,我试图为我的程序制作一个简单的菜单,在我进入退出后,我可以在两种模式之间轻松切换 当前的问题是,一旦我进入退出,我的程序就会显示菜单,但一旦我选择了一个选项,它就会继续关闭 我在这里找到了类似的帖子,但我似乎尝试了给出的答案,没有运气 int main(void) { int userChoice = 0; char userInput[100]; int index = 0; userChoice = mainMenu(); switch (user
int main(void) {
int userChoice = 0;
char userInput[100];
int index = 0;
userChoice = mainMenu();
switch (userChoice) {
case 1:
printf("Enter EXIT anytime to quit out of loop.\n");
while (strcmp(userInput, "EXIT") != 0) {
printf("->");
scanf("%s", userInput);
}
userChoice = mainMenu();
break;
}
return 0;
}
int mainMenu() {
int userChoice = 0;
printf("--------------------------\n");
printf("Option 1 \n");
printf("Option 2 \n");
printf("--------------------------\n");
printf("Please enter 1 for Option 1 and 2 for Option 2 ->");
scanf("%d", &userChoice);
return userChoice;
}
在您第二次选择菜单选项后,您不会尝试对其进行任何操作。你只要离开开关,在最后按回车键就行了 您需要添加另一个循环,并且只在循环顶部显示菜单:
int main(void) {
int userChoice = 0;
char userInput[100];
int index = 0;
while (1) {
userChoice = mainMenu();
switch (userChoice) {
case 1:
printf("Enter EXIT anytime to quit out of loop.\n");
do {
printf("->");
scanf("%s", userInput);
} while (strcmp(userInput, "EXIT") != 0);
break;
}
}
return 0;
}
使用循环?…谢谢你的回复。我的代码与您发布的代码完全相同,问题是,一旦我输入EXIT,然后选择1,它将不允许我再次输入任何内容。@lajuc请参阅我的编辑。您可以检查userInput,它仍然包含上次通过循环时的字符串EXIT。切换while to do…while to be to to be to to be the check to end.谢谢您,先生,完全忘记了用户输入仍然保持退出状态。现在可以正常工作了。