退出时如何再次显示主菜单?

时间:2019-02-12 19:51:53

标签: c

我正在尝试为程序创建一个简单的菜单,以便在输入EXIT之后可以轻松在两种模式之间切换。

当前的问题是,一旦我输入EXIT,我的程序就会显示菜单,但是一旦我选择了一个选项,它就会关闭。

我在这里找到了类似的帖子,但我似乎尝试了给出的答案,但没有运气。

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;
}

1 个答案:

答案 0 :(得分:0)

第二次选择菜单选项后,您无需尝试执行任何操作。您只需离开switch,然后按一下return

您需要添加另一个循环,并且仅在循环顶部显示菜单:

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;
}