Основные функции паузы / возобновления в C ++ - PullRequest
1 голос
/ 13 марта 2012

Я делаю примитивный хранитель времени, который я хотел бы приостановить и возобновить простым нажатием клавиши. Мне сказали, что

system("pause>null")

приостанавливает программу до нажатия клавиши, но как условно записать паузу для начала?

Предпочтительная структура в псевдокоде:

if (certain_key_pressed)
{
    pause_program_until_any_key_hit;
}

Ответы [ 2 ]

0 голосов
/ 13 марта 2012

Здесь можно выбрать один из двух вариантов. Программирование на основе опросов или событий.

Опрос - это более простое, но зачастую менее изящное решение, при котором программа периодически проверяет, была ли нажата кнопка паузы в цикле.

While(not_quit)
{
    if(key_pressed)
        Etc...

В программировании, управляемом событиями, вы регистрируете событие pauseButtonPressed с помощью обработчика событий. При нажатии кнопки паузы специальная функция, назначенная для обработки события, вызывает функцию паузы.

0 голосов
/ 13 марта 2012
if ( certain_key_pressed )
    while ( true )
    {
        if ( any_key_hit )
            break;
    }

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

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