Я пытаюсь создать программу секундомера, используя этот стандартный C-Free 5.0. Вот что у меня до сих пор:Программа секундомера в стандарте C
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <windows.h>
char button;
int minutes=0, seconds=0, millisec=0;
int main(void)
{
while(1)
{
reset:
button = '\0';
int minutes=0, seconds=0, millisec=0;
printf(" %d : %d : %d ", minutes, seconds, millisec);
system("cls");
if(button == 'a')
{
while(1)
{
cont:
button = '\0';
Sleep(10);
millisec++;
if(millisec == 100)
{
millisec = 0;
seconds++;
if(seconds == 60)
{
seconds = 0;
minutes++;
}
}
printf(" %d : %d : %d ", minutes, seconds, millisec);
system("cls");
if(button == 's')
{
while(1)
{
button = '\0';
printf(" %d : %d : %d ", minutes, seconds, millisec);
system("cls");
if(button == 'a')
{
goto cont;
}
if(button == 'd')
{
goto reset;
}
}
}
}
}
}
}
Я пытаюсь запустить секундомер с прессованными кнопками «а», но это не будет работать. Использование scanf() приведет к приостановке всей программы. Есть ли способ обнаружить нажатие кнопки и продолжить программу секундомера? Я имею в виду, не останавливая программу, особенно нажатие 's', чтобы остановить и снова нажать «a», чтобы продолжить, при одновременном отображении таймера.
Не в стандартной C. – md5
[C-Free] (http://www.programarts.com/cfree_en/index.htm) является IDE, а не компилятор. Можете ли вы рассказать нам, с каким компилятором вы его используете? потому что в некоторых поддерживаемых библиотеках компилятора будут доступны такие функции, как 'kbhit()'. – fvu