Я пытаюсь написать программу, в которой число начинается с 0, но когда вы нажимаете любую клавишу, она увеличивается на 1. Если ничего не нажимается, оно продолжает уменьшаться на 1 секунду, пока не достигнет 0. Каждое приращение или декремент отображается в окне консоли.
Проблема с моим подходом заключается в том, что ничего не происходит, пока я не getch()
клавишу (то есть, она проверяет, нажата ли что-либо с помощью getch()
). Как проверить, что ничего не нажата? И, конечно же, !getch()
не работает, потому что для этого все равно нужно будет проверить keypress, который сводит на нет цель.
ОС: Windows 10 Enterprise, IDE: Код :: Блоки
void main()
{
int i, counter = 0;
for (i = 0; i < 1000; i++)
{
delay(1000);
// if a key is pressed, increment it
if (getch())
{
counter += 1;
printf("\n%d", counter);
}
while (counter >= 1)
{
if (getch())
{
break;
}
else
{
delay(1000);
counter--;
printf("\n%d", counter);
}
}
}
}