Как снова показать главное меню при выходе? - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь создать для моей программы простое меню, в котором я могу легко переключаться между двумя режимами после ввода 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 голосов
/ 12 февраля 2019

После того, как вы выбрали меню во второй раз, вы не пытаетесь с ним что-либо делать.Вы просто оставляете 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...