Выход из программы .. альтернатива (язык C) - PullRequest
0 голосов
/ 18 сентября 2011

Это код, который я использую для списка опций в моей программе.

Конечно, если количество опций растет (более 9), я должен изменить условие while, приняв другое число.

Чего я хотел бы избежать, так это прибегнуть к двузначному номеру.

Как я мог заставить пользователя нажать клавишу «ESC» для выхода из программы?или любой другой ключ или другое решение, если таковые имеются ....

   while (option < 9)
    {
    system("clear");

            printf("+------------------------------------------+\n");
            printf("|   xxxxxxxxxxxxxx             |\n");
            printf("+------------------------------------------+\n");
            printf("                                        \n");
            printf("********************************************\n");
            printf("|         Operations                   |\n");
            printf("********************************************\n");
            printf("| 1) Option 1                              |\n");
            printf("| 2) Option 2                              |\n");
            printf("| 3) Option 3                              |\n");
            printf("| 9) EXIT                                  |\n");
            printf("+------------------------------------------+\n");

            printf("Option -->: ");
            scanf("%d", &option);

            if (option==1) func1(conn);
            if (option==2) func2(conn);
            if (option==3) func3(conn);
    } 
            mysql_close (conn);

        system("clear");

        exit (EXIT_SUCCESS);

}

Спасибо Мауро

1 Ответ

1 голос
/ 18 сентября 2011

Чтение символа вместо целого (или, что еще лучше, нажатия клавиши). Затем, если прочитанный символ находится между '0' и '9', превратите его в целое число и используйте его как опцию; в противном случае сделайте так, чтобы ваш цикл завершался, возвращался из основного состояния, вызывался из выхода или любым другим способом, который вы предпочитаете завершить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...