我正嘗試使用此標準C-Free 5.0創建秒錶的程序。這是我到目前爲止:標準C中的秒錶程序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;
}
}
}
}
}
}
}
我想按下按鈕'a'開始秒錶,但它不會工作。使用scanf()會暫停整個程序。有沒有辦法檢測到按下按鈕並繼續秒錶程序?我的意思是,在不停止程序的情況下,特別是按's'停止並再次按'a'以繼續,同時始終顯示定時器。
不在標準C. – md5 2013-03-23 12:20:20
[C-免](http://www.programarts.com/cfree_en/index.htm)是IDE,而不是一個編譯器。你能告訴我們你使用的是什麼編譯器嗎?因爲在一些支持的編譯器庫中會有像'kbhit()'這樣的函數可用。 – fvu 2013-03-23 12:24:17