资源描述:
《模拟时钟转动课设报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、模拟时针转动程序姓名:李建利学号:12020326完成日期:2012年12月设计目的加深对讲授内容的理解,尤其是一些语法规定。通过课程设计,自然地、熟练地掌握。熟悉所用的计算机系统的操作方法,也就是熟悉语言程序开发的环境。学会上机调试程序。熟悉C语言图形模式下的编程,掌握利用C语言相关函数开发电子时钟的基本原理。能模拟机械钟表行走;要准确地利用数字显示时间;在屏幕上显示一个活动时钟;程序界面设计合理,色彩得体大方,显示正确;各指针运动规律正确;数字式时钟的时间显示与指针式时钟显示一致。总体设计电子时钟动画显示模块转动时针处理模块数字时钟处理模块电子时钟的功
2、能描述开始进入图形模式进入主体界面显示动态图像结束退出系统显示转动时钟数字时钟的显示电子时钟流程图模块描述动画处理模块在屏幕上显示sin和cos型的动态函数图像,显示运动的问候语。转时针动处理模块指针式的时钟表盘为椭圆形并且圆周上有分布均匀的12个刻度刻度显示清楚钟面上有长度不相同的指针即时针、分针、秒针指针的运动具有规律性为顺时针。数字时钟处理模块数字钟显示时间的格式是年月日时分秒小时为24进制,分钟和秒是60进制,指针式的时钟和数字式的时钟显示的时间同步且两个时钟所显示的时间与计算机的系统时间一致。详细设计time结构体strumetime{usig
3、nedcharti_min;usignedcharti_hour;usignedcharti_hud;usignedcharti_sec;};time结构体定义在dos.h文件中,可以保存系统的当前时间。全局变量doubleh,m,s;这三个变量分别保存小时,分钟,秒。doublex,y,x1,y1,x2,y2;保存数字时钟中小时分钟秒在屏幕中显示的位置。structtimet[1];定义一个time结构类型的数组。函数功能的描述1.def()函数原型:voiddef()def()函数是用来输出一组彩带的,通过输入位置和颜色的变化来输出sin型的彩带,且在
4、整个函数中保留结果。2.abc()函数原型:voidabc()abc()函数是用来在退出系统是输出运动的问候语,函数类型单一且比较简单。3.digitclock()函数原型:voiddigitclock()digitclock函数用于在(x,y)位置显示clock值,clock值为时分秒。4.clockhandle()函数原型:voidclockhandle()clockhandle()函数用于完成时针转动和数字时钟的显示,包括时针转动角度的运算,还有对声音的输出。5.main()函数原型:voidmain()main()函数是主函数,既包括绘画表盘的基本
5、框架,又有对其他函数的调用。函数测试与调试在函数编写完成后,进行过多次测试。在测试过程中遇到很多的问题,像数字时钟的显示位置与理想中的有偏差,转动时针移动后痕迹不能清除。这些问题通过对clockhandle()的调整得到了很好的解决。还有就是在动画处理上运动时间的间隔和遇到路程的测试遇到了问题,但最后通过查阅资料都得到了解决。源程序清单#include#include#include#include#include#include#definePI
6、3.1415926#defineESC0x11b#definestep10/*函数声明*/intdigithour(double);intdigitmin(double);intdigitsec(double);voiddigitclock(int,int,int);voidclockhandle();voidabc();voiddef();doubleh,m,s,day,mon;doublex,x1,x2,y,y1,y2;structtimet[1];/*主函数*/main(){intdriver,mode=0,i,j;driver=DETECT;/*自
7、动检测显示设备*/initgraph(&driver,&mode,"");/*初始化图形系统*/setlinestyle(0,0,3);setbkcolor(0);/*画主体框架的边线*/setcolor(12);line(82,430,558,430);line(70,62,70,418);line(82,50,558,50);line(570,62,570,418);line(70,62,570,62);line(76,56,295,56);line(342,56,564,56);/*画主体框架的边角弧线*/setlinestyle(0,0,3);ar
8、c(82,62,90,180,12);setlinestyle(0