C语言实现秒表

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

源代码如下(作者:中南大学通信工程1602肖涛,qq:2391527690)#include

#include//_kbhit

#include

#include

struct t

{

intho,mi,se;

}ti;

struct t carry(struct t sj)

{ sj.se++;

if(sj.se==60)

{

sj.se=0;

sj.mi++;

}

if(sj.mi==60)

{

sj.mi=0;

sj.ho++;

}

if(sj.ho==24)

sj.ho=0;

return(sj);

}

void showtime(struct t sj)

{

system("cls");

printf("\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t");

printf("秒表显示器:");

if(sj.se<10&&sj.ho<10&&sj.mi<10)//控制计时时时间显示格式printf("0%d:0%d:0%d\n",sj.ho,sj.mi,sj.se);

if(sj.se>=10&&sj.ho<10&&sj.mi<10)

printf("0%d:0%d:%d\n",sj.ho,sj.mi,sj.se);

if(sj.se<10&&sj.mi>=10&&sj.se<10)

printf("0%d:%d:0%d\n",sj.ho,sj.mi,sj.se);

if(sj.se<10&&sj.mi<10&&sj.ho>=10)

printf("0%d:0%d:%d\n",sj.ho,sj.mi,sj.se);

if(sj.se>=10&&sj.mi>=10&&sj.ho<10)

printf("0%d:%d:%d\n",sj.ho,sj.mi,sj.se);

if(sj.se>=10&&sj.mi<10&&sj.ho>=10)

printf("%d:0%d:%d\n",sj.ho,sj.mi,sj.se);

if(sj.se<10&&sj.mi>=10&&sj.ho>=10)

printf("%d:%d:0%d\n",sj.ho,sj.mi,sj.se);

if(sj.ho>=10&&sj.mi>=10&&sj.se>=10)

printf("%d:%d:%d\n",sj.ho,sj.mi,sj.se);

}

void main ()

{

char m,n;

ti.ho=ti.mi=ti.se=0;

printf("\t*************************************************\n");

printf("\t\t 欢迎使用秒表功能\n");

printf("\t\t操作提示:第一次按回车开始计时!\n");

printf("\t\t按z暂停,第二次按回车结束秒表程序\n");

while(1)

{

m=getch();

if(m!='\r')//读入一个输入,如果是回车,跳出while printf("\t\t输入错误,仅能输入回车!\n");

else

break;

}

printf("\t\t已经开始计时,但你可以输入'z'来暂停计时\n");

while(1)

{

if(_kbhit())//判断是否键入字符

{

m=getch();

if(m=='\r')

break;

if(m!='\r'&&m!='z')

printf("\n输入错误,仅支持回车或'z'\n");

if(m=='z')

{

system("cls");

printf("当前时间:");

if(ti.se<10&&ti.mi<10&&ti.ho<10)

printf("0%d:0%d:0%d\n",ti.ho,ti.mi,ti.se);

if(ti.se>=10&&ti.ho<10&&ti.mi<10)//控制暂停时时间显示格式printf("0%d:0%d:%d\n",ti.ho,ti.mi,ti.se);

if(ti.se<10&&ti.mi>=10&&ti.se<10)

printf("0%d:%d:0%d\n",ti.ho,ti.mi,ti.se);

if(ti.se<10&&ti.mi<10&&ti.ho>=10)

printf("0%d:0%d:%d\n",ti.ho,ti.mi,ti.se);

if(ti.se>=10&&ti.mi>=10&&ti.ho<10)

printf("0%d:%d:%d\n",ti.ho,ti.mi,ti.se);

if(ti.se>=10&&ti.mi<10&&ti.ho>=10)

printf("%d:0%d:%d\n",ti.ho,ti.mi,ti.se);

if(ti.se<10&&ti.mi>=10&&ti.ho>=10)

printf("%d:%d:0%d\n",ti.ho,ti.mi,ti.se);

if(ti.ho>=10&&ti.mi>=10&&ti.se>=10)

printf("%d:%d:%d\n",ti.ho,ti.mi,ti.se);

printf("\n按任意键继续\n");

while(1)

{

Sleep(500);

if(_kbhit())//如果有输入会连续判断两个kbhit(),并把输入赋给ch,所以找个替罪羔羊n

{

n=getch();

break;

}

}

}

}

Sleep(1000);

ti=carry(ti);

showtime(ti);

}

相关文档
最新文档