- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
计算机程序设计(C语言)
课程设计报告
题目:电子动画时钟
学院:机电工程学院
专业:
班级:090109班
学号:
姓名:
指导教师:
设计日期:
一、概述
选题背景:随着社会得进步与科技得发展,电子钟表逐渐成为了人们生活中不可缺少得一部分。设计思路:(一)功能模块设计,1、电子时钟执行主流程2、电子时钟界面显示3、电子时钟按键控制模块4、时钟动画处理模块(二)数据结构设计1、time结构体2、全局变量(三)函数功能描述1、keyhandle()2、timeupchange()3、timedownchange()4、digitclock()5、drawcursor()6、clearcursor()7、voidclockhandle()8、main()(四)程序实现(五)运行结果。
二、概要设计
?2、1、数据结构
此程序中,使用了C语言得time结构体与几个全局变量,1、time结构体
structtime
{
unsignedcharti_min;/*分钟*/
unsignedcharti_hour;/*小时*/
unsignedcharti_hund;/*百分之一秒*/
unsignedcharti_sec;/*秒*/
};
time结构体定义在dos、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:保存数字时钟中小时,分,秒在屏幕中显示得坐标值。
3、structtimet[1]:定义一个time结构类型得数组,此数组只有t[0]一个元素.
2、3模块列表
1、时钟动画处理模块
时钟动画处理模块主要由clockhandle()函数来实现,程序中旧时钟指针得擦除就是借助setwritemode(mode)函数设置画线得方式来实现。如果mode=1,则表示画线时用现在特性得线所画之处原有得线性异或(XOR)操作,实际上画出得线就是原有线与现在规定得线进行异或后得结果.因此,当线得特性不变时,进行两次画线操作相当于没有画线,即在当前位置处清除了原来得画线。
2、时钟按键控制模块
在电子时钟中,按键控制模块最主要得工作就就是必须能读取用户按键,对按键值进行判断,并调用相应函数来执行相关操作.
3、
数字时钟处理模块
(1)调用digitclock(intx,inty,intclock)函数。在数字时钟r指定位置显示时,分,秒,其中digithour(doubleh),intdigitour(doubleh)与digitsec(doubles)用于完成数值得double型向int型转换。
(2)调用drawcursor(intcount),clearcursor(intcount)函数来完成旧光标得擦除与新光标得绘制。
2、4、程序结构图(也就就是模块之间得关系)
数字时钟模块按键控模块界面显示模块时钟动画处理模块电子时钟
数字时钟模块
按键控模块
界面显示模块
时钟动画处理模块
电子时钟
三、详细设计
3、1程序预处理模块。包括加载头文件,定义常量,变量,结构体数组与函数原型声明。
3、2主控模块main()、main()函数主要实现了对电子时钟得初始化工作,及clockhandle()函数得调用。
3、3时钟动画处理模块。
3、4时针按键控制模块。在电子时钟中,按键控制模块最主要得工作就就是必须能读取用户按键,对按键值进行判断,并调用相应函数来执行相关操作.流程图如下.
3、5数字时针处理模块。在数字时钟处理模块中,主要实现数字时钟得显示与数字得时钟修改。其中,在数字时钟得修改中,用户可以按Tab键定位需要修改得内容得位置,然后通过按光标上移或下移键来修改时间.
四、调试程序
错误1:
错误现象:Declarationsyntanerror
错误原因:声明错误,缺分号。
修改方法:在声明语句后添加分号。
错误2:
错误现象:Twofewparametersi
文档评论(0)