2012-08-12 42 views
2

我想在Turbo C中不使用內置函數「Timer」來製作C(即時停止監視)秒錶。我的代碼如下:如何在Turbo C++中按Ctrl + Break而無限循環退出

#include<stdio.h> 
#include<conio.h> 
#include<dos.h> 

int main() 
{ 
int hh,mm,ss; 
hh=mm=ss=0; 
gotoxy(10,10); 
printf("\nSTOP - WATCH: "); 
gotoxy(20,18); 
printf("HH : MM : SS"); 
_setcursortype(_NOCURSOR); 
for(;;ss++) //An infinite loop 
{ 
    if(ss==60) 
    { 
    mm++; 
    ss=0; 
    } 

    if(mm==60) 
    { 
    hh++; 
    mm=0; 
    } 

    gotoxy(20,20); 
    delay(1000); 
    printf("%02d : %02d : %02d",hh,mm,ss); 

} 
return 0; 
} 

現在我想從這個程序退出在鍵盤上的按鈕被按下(可以說「Q」)。

+0

爲什麼不使用control-C? – 2012-08-12 13:17:31

+0

嗨,我想讓用戶按下一個按鍵(就像我們在其他程序中那樣)按壓程序並且不使用按鍵組合! – DecodingLife 2012-08-12 13:21:51

+0

你可能想要從系統時鐘每秒讀取2次,而不是使用'delay(1000)'。這段代碼會有輕微的時間漂移​​。 – nielsbot 2012-09-04 18:30:18

回答

1

使用kbhit()getch()<conio.h>獲得鍵盤輸入。

+0

非常感謝阿列克謝....它的工作。謝謝 :) – DecodingLife 2012-08-12 13:35:38

0

您的程序將使用kbhit()getch()。如果你忘了,如果你錯誤地編譯,那麼你唯一的選擇是Ctrl + 休息(這可能不會工作,但你可能會很幸運)。