C语言编写的整点报时时钟.docx

上传人:b****7 文档编号:11237792 上传时间:2023-02-26 格式:DOCX 页数:13 大小:77.78KB
下载 相关 举报
C语言编写的整点报时时钟.docx_第1页
第1页 / 共13页
C语言编写的整点报时时钟.docx_第2页
第2页 / 共13页
C语言编写的整点报时时钟.docx_第3页
第3页 / 共13页
C语言编写的整点报时时钟.docx_第4页
第4页 / 共13页
C语言编写的整点报时时钟.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言编写的整点报时时钟.docx

《C语言编写的整点报时时钟.docx》由会员分享,可在线阅读,更多相关《C语言编写的整点报时时钟.docx(13页珍藏版)》请在冰豆网上搜索。

C语言编写的整点报时时钟.docx

C语言编写的整点报时时钟

计算机技能实习报告

 

整点声音报时时钟

 

整点声音报时时钟:

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

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

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

参考资料:

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

时钟源程序:

#include

#include

#include

#definepi3.1415926

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

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

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

intx1,y1,x2,y2;

voidinit()

{inti,l,x1,x2,y1,y2;

chars[10];

floatf;

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()

{

intx,y;

intgd=VGA,gm=2;

unsignedcharh,m,s;

structtimet[1];

initgraph(&gd,&gm,"d:

\\tc");

init();

setwritemode

(1);

gotoxy(30,20);

printf("madebyliyunzhan");

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

#definepi3.1415926

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

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

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

intx1,y1,x2,y2;

voidinit()

{inti,l,x1,x2,y1,y2;

chars[10];

floatf;

setbkcolor(5);

setcolor(9);

bar(100,50,500,430);

circle(300,240,180);

circle(300,240,80);

circle(300,240,145);

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

(2);

setlinestyle(0,0,3);

l=15;}

else

{setcolor(12);

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()

{

intx,y;

intgd=VGA,gm=2;

unsignedcharh,m,s;

structtimet[1];

initgraph(&gd,&gm,"d:

\\tc");

init();

setwritemode

(1);

gotoxy(30,20);

printf("madebylikai");

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();

}

修改后时钟源程序运行截图:

C语言程序设计实习心得:

在一个周时间的学习中,我们在专业老师的带领下进行了C语言程序实践学习。

在这之前,我们已经对C语言这门课程学习了一个学期,对其有一定的了解,但是也仅仅是停留在了解的范围,对里面的很多东西还是很陌生,更多的在运用起来还是会感到很棘手。

由于时间的关系,我们这次的实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是C语言灵活,简洁,更需要通过编程的实践来真正掌握它。

对于程序设计语言的目的,可以概括为学习语法规定、掌握程序设计方法,提高程序开发能力等等,这些都必须通过充分的实际上机操作才能完成。

通过C语言实训,让我了解到很多C语言的特点,例如C语言的特点有:

1.简洁紧凑、灵活方便,C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。

它把高级语言的基本结构和语句与低级语言的实用性结合起来。

C语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

2.运算符丰富:

运算符包含的范围很广泛,共有种34个运算符。

C语言把括号、赋值、强制类型转换等都作为运算符处理。

从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

3.数据结构丰富:

C的数据类型有:

整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。

能用来实现各种复杂的数据类型的运算。

并引入了指针概念,使程序效率更高。

另外C语言具有强大的图形功能,支持多种显示器和驱动器。

且计算功能、逻辑判断功能强大。

4.C是结构式语言:

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。

这种结构化方式可使程序层次清晰,便于使用、维护以及调试。

C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

5.C语法限制不太严格、程序设计自由度大,一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。

而C语言允许程序编写者有较大的自由度。

6.C语言允许直接访问物理地址,可以直接对硬件进行操作因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。

7.C语言程序生成代码质量高,程序执行效率高,一般只比汇编程序生成的目标代码效率低10へ20%。

8.C语言适用范围大,可移植性好,C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型。

C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。

通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。

不过,通过几天的实训,逐渐积攒了一些经验,对于简单的程序有些错误可以很快就看出来。

这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。

C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。

通过一个周的C语言实习,我加深了对课堂教授内容的理解,学习了基础知识后,通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就自然而然地掌握C语言的语法规定,发现原来的理解偏差。

学习C语言,利用学到的知识编写C语言程序,解决实际问题,把C语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题,只有通过上机才能检验自己是否掌握C语言,自己编写的程序是否能够正确的解题,通过解决这些问题,可以逐步提高自己对C语言的理解和程序开发能力。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1