c语言整点报时,C语言编写的整点报时时钟.doc

本文介绍了如何使用C语言编程实现一款具有指针式表盘、时针分秒同步、整点报时功能的时钟应用。通过谭浩强的教材和专业老师的源代码,详细展示了从界面设计到时间同步及报时功能的实现过程,适合计算机科学实习生学习实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机技能实习报告

整点声音报时时钟

整点声音报时时钟:

a.具有指针式表盘界面(方形或圆形);

b.具有时针+分针+秒针并正确旋转;

c.时钟时间须与系统时间相一致,秒针具有“滴答”声音效果,并实现整点报时。

参考资料:a.C语言程序设计(谭浩强-清华大学出版社)b.C语言程序设计教程(谭浩强,张基温-高等教育出版社)c.专业李老师提供的时钟界面设计源程序等等。

时钟源程序:

#include

#include

#include

#define pi 3.1415926

#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300;

#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240;

#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y)

int x1,y1,x2,y2;

void init()

{int i,l,x1,x2,y1,y2;

char s[10];

float f;

setbkcolor(0);

setcolor(2);

circle(300,240,180);

circle(300,240,200);

circle(300,240,5);

for(i=12;i>=1;i--)

{f=(30*(i-12)*pi/180);

x1=300+sin(f)*(180-6)-16;

y1=240-cos(f)*(180-6);

sprintf(s,"%2d",i);

setcolor(13);

settextstyle(0,0,2);

outtextxy(x1,y1,s);

}

for(i=0;i<60;i++)

{

if(i%5==0)

{setcolor(5);

setlinestyle(0,0,3);

l=15;}

else

{setcolor(14);

l=5;}

x1=160*cos(i*6*pi/180)+300;

y1=160*sin(i*6*pi/180)+240;

x2=(160-l)*cos(i*6*pi/180)+300;

y2=(160-l)*sin(i*6*pi/180)+240;

line(x1,y1,x2,y2);

}

}

main()

{

int x,y;

int gd=VGA,gm=2;

unsigned char h,m,s;

struct time t[1];

initgraph(&gd,&gm,"d:\\tc");

init();

setwritemode(1);

gotoxy(30,20);

printf("made by li yun zhan");

gettime(t);

/*h=t[0].ti_hour;*/

if(t[0].ti_hour>12)

t[0].ti_hour=t[0].ti_hour-12;

if(t[0].ti_hour<4)

h=abs(t[0].ti_hour-3);

m=t[0].ti_min;

s=t[0].ti_sec;

setcolor(7);

d(80,h,30);

setcolor(14);

d(110,m,6);

setcolor(4);

d(150,s,6);

while(!kbhit())

{while(t[0].ti_sec==s)

gettime(t);

sound(400);

delay(70);

sound(200);

delay(30);

nosound();

setcolor(4);

d(150,s,6);

s=t[0].ti_sec;

d(150,s,6);

if (t[0].ti_min!=m)

{

setcolor(14);

d(110,m,6);

m=t[0].ti_min;

d(110,m,6);

}

if (t[0].ti_hour!=h)

{ setcolor(7);

d(80,h,30);

h=t[0].ti_hour;

d(80,h,30);

sound(1000);

delay(240);

nosound();

delay(140);

sound(2000);

delay(240);

nosound();

}

}

getch();

closegraph();

}

时钟源程序运行截图:

修改后的源程序:

#include

#include

#include

#define pi 3.1415926

#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300;

#define Y(a,b,c) y=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值