2012-08-12 33 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 + 休息(这可能不会工作,但你可能会很幸运)。