c语言电子毫秒表计时程序

Python013

c语言电子毫秒表计时程序,第1张

使用time()函数。它在头文件time.h中

具体使用方法如下:

time_t

a,b//time_t是表示时间的结构体,你可以在time.h中找到它的原型。

a=time(null)//表示获取当前的机器时间。

代码段

b=time(null)//表示获取当前的机器时间。

a是代码段执行前的时间,b是代码段执行后的时间(单位是秒),那么b-a当然是代码段的执行时间了。输出时,以长整型输出时间。

希望这个解答可以帮到你。

秒表计时器的代码

#include

#include

#include

#include

struct

tm

//定义时间结构体,包括时分秒和10毫秒

{

int

hours,minutes,seconds

int

hscd

}time,tmp,total

//time用以计时显示,tmp用以存储上一阶段时间,total记总时间

int

cnt

file*

fout

//每次调用update函数,相当于时间过了10ms

void

update(struct

tm

*t)

{

(*t).hscd++

//10ms单位时间加1

cnt++

if

((*t).hscd==100)

//计时满1s,进位

{

(*t).hscd=0

(*t).seconds++

}

if

((*t).seconds==60)

//计时满一分,进位

{

(*t).seconds=0

(*t).minutes++

}

if

((*t).minutes==60)

//计时满一小时,进位

{

(*t).minutes=0

(*t).hours++

}

if((*t).hours==24)

(*t).hours=0

//delay()

sleep(10)

//sleep是windows提供的函数,作用是暂停程序,单位毫秒,所以此处暂停10ms

}

void

display(struct

tm

*t)

{

//此处输出计时结果,\r为回车不换行,既一直在同一行更新时间

printf("%d:",(*t).hours)

printf("%d:",(*t).minutes)

printf("%d:",(*t).seconds)

printf("%d\r",(*t).hscd)

//printf("now,

press

‘e’

key

to

stop

the

clock…")

}

void

time_init()

//初始化时间

{

time.hours=time.minutes=time.seconds=time.hscd=0

}

void

get_total()

//计算总时间

{

total.hscd

=

cnt

%

100

cnt

/=

100

total.seconds

=

cnt

%

60

cnt

/=

60

total.minutes

=

cnt

%

60

cnt

/=

60

total.hours

=

cnt

}

int

main()

{

char

m

time_init()

cnt

=

0

fout

=

fopen("timeout.txt","w")

printf("按回车键开始计时!\n")

while(1)

{

m

=

getch()

if(m

!=

‘\r’)

//读入一个输入,如果是回车,那么跳出次循环

printf("输入错误,仅能输入回车键!\n")

else

break

}

printf("已经开始计时,但是你可以按回车键以分段计时!\n")

while(1)

{

if(kbhit())

//此处检查是否有键盘输入

{

m=getch()

if(m

==

‘\r’)

//如果等于回车,那么计时结束,跳出循环

break

else

if(m

==

‘)

//如果等于空格,显示此次计时,初始化计时器

{

tmp

=

time

//记录上一段计时器结果

fprintf(fout,"%d:%d:%d:%d\n",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd)

//写入文件

time_init()

printf("\n")

}

else

{

printf("输入错误,仅支持输入回车键或者空格键!\n")

}

}

update(&time)

//更新计时器

display(&time)

//显示计时器时间

}

tmp

=

time

//输出最后一次即使结果,写入文件

fprintf(fout,"%d:%d:%d:%d\n",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd)

get_total()

//计算总的时间,显示,并写入文件

printf("\n总时间:%d:%d:%d:%d\n",total.hours,total.minutes,total.seconds,total.hscd)

fprintf(fout,"统计时间:%d:%d:%d:%d\n",total.hours,total.minutes,total.seconds,total.hscd)

fclose(fout)

printf("已经保存到当前目录下的timeout.txt文件中按任意键结束!")

getch()

}

time()

头文件:time.h

函数原型:time_t time(time_t * timer)

功能:返回以格林尼治时间(GMT)为标准,从1970年1月1日00:00:00到现在的此时此刻所经过的秒数。

2.clock()

头文件:time.h

函数原型:clock_t clock(void)

功能:该函数返回值是硬件滴答数,要换算成秒,需要除以CLK_TCK或者 CLK_TCKCLOCKS_PER_SEC。比如,在VC++6.0下,这两个量的值都是1000。

3. timeGetTime()

头文件:Mmsystem.h  引用库: Winmm.lib

函数原型:DWORD timeGetTime(VOID)

功能:返回系统时间,以毫秒为单位。系统时间是从系统启动到调用函数时所经过的毫秒数。注意,这个值是32位的,会在0到2^32之间循环,约49.71天。