资源描述:
《计算机程序设计(C语言)课程设计报告.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机程序设计(C语言)课程设计报告题目:电子动画时钟学院:机电工程学院专业:班级:090109班学号:姓名:指导教师:设计日期:一、概述选题背景:随着社会得进步与科技得发展,电子钟表逐渐成为了人们生活中不可缺少得一部分。设计思路:(一)功能模块设计,1、电子时钟执行主流程2、电子时钟界面显示3、电子时钟按键控制模块4、时钟动画处理模块(二)数据结构设计1、time结构体2、全局变量(三)函数功能描述1、keyhandle()2、timeupchange()3、timedownchange()4、digitclo
2、ck()5、drawcursor()6、clearcursor()7、voidclockhandle()8、main()(四)程序实现(五)运行结果。二、概要设计?2、1、数据结构此程序中,使用了C语言得time结构体与几个全局变量,1、time结构体structtime{unsignedcharti_min;/*分钟*/unsignedcharti_hour;/*小时*/unsignedcharti_hund;/*百分之一秒*unsignedcharti_sec;/*秒*//};time结构体定义在do
3、s、h文件中,可用来保存系统得当前时间,其中各字段得值得含义如下。1、unsignedcharti_min:保存分钟值.2、unsignedcharti_hour:保存小时。3、unsignedcharti_hund:保存百分之一秒,例如,ti_hund=500,表示1/500秒。4、unsignedcharti_sec:保存秒数。2、2、全局变量下面对程序用到得全局变量及数组进行说明、1、doubleh,m,s:此3个全局变量分别用来保存小时,分钟,秒数。2、doublex,x1,x2,y,y1,y2:保
4、存数字时钟中小时,分,秒在屏幕中显示得坐标值。3、structtimet[1]:定义一个time结构类型得数组,此数组只有t[0]一个元素.2、3模块列表1、时钟动画处理模块时钟动画处理模块主要由clockhandle()函数来实现,程序中旧时钟指针得擦除就是借助setwritemode(mode)函数设置画线得方式来实现。如果mode=1,则表示画线时用现在特性得线所画之处原有得线性异或(XOR)操作,实际上画出得线就是原有线与现在规定得线进行异或后得结果.因此,当线得特性不变时,进行两次画线操作相当于没有画线
5、,即在当前位置处清除了原来得画线。2、时钟按键控制模块在电子时钟中,按键控制模块最主要得工作就就是必须能读取用户按键,对按键值进行判断,并调用相应函数来执行相关操作.3、数字时钟处理模块(1)调用digitclock(intx,inty,intclock)函数。在数字时钟r指定位置显示时,分,秒,其中digithour(doubleh),intdigitour(doubleh)与digitsec(doubles)用于完成数值得double型向int型转换。(2)调用drawcursor(intcount),cle
6、arcursor(intcount)函数来完成旧光标得擦除与新光标得绘制。2、4、程序结构图(也就就是模块之间得关系)电子时钟界按模时块钟面显键动控示画模模处块块理数字时钟模块三、详细设计3、1程序预处理模块。包括加载头文件,定义常量,变量,结构体数组与函数原型声明。3、2主控模块main()、main()函数主要实现了对电子时钟得初始化工作,及clockhandle()函数得调用。3、3时钟动画处理模块。3、4时针按键控制模块。在电子时钟中,按键控制模块最主要得工作就就是必须能读取用户按键,对按键值进行判断,
7、并调用相应函数来执行相关操作.流程图如下.3、5数字时针处理模块。在数字时钟处理模块中,主要实现数字时钟得显示与数字得时钟修改。其中,在数字时钟得修改中,用户可以按Tab键定位需要修改得内容得位置,然后通过按光标上移或下移键来修改时间.四、调试程序错误1:错误现象:Declarationsyntanerror错误原因:声明错误,缺分号。修改方法:在声明语句后添加分号。错误2:错误现象:Twofewparametersincallto‘setlinestyle'infunctionmain错误原因:语句缺少参数.修
8、改方法:在main()函数中找到缺少参数得语句添加相应得参数。错误3:错误原因:Functioncallmissing)infunctionclockhandle错误原因:在clockhandle函数调用得就是后函数表达式缺少一个).修改方法:找到错误语句添加缺少得表达式符号。五、心得总结程序优点:本程序旨在训练学生得基本编程能力,本程序中涉及时间结构体,数组,绘图等方面