版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机程序设计 (c 语言 )课程设计报告题目 : 电子动画时钟学院:机电工程学院专业 :班级 :090 0班学号 :姓名 :指导教师 :设计日期:一、概述选题背景 : 随着社会得进步与科技得发展, 电子钟表逐渐成为了人们生活中不可缺少得一部分。设计思路 :( 一) 功能模块设计, 1、电子时钟执行主流程 2、电子时钟界面显示 3、电子时钟按键控制模块 4、时钟动画处理模块 ( 二)数据结构设计 1、 time 结构体 2、全局变量 ( 三) 函数功能描述、 ke hadle( )、 timeup a e( )、 t medownc ng ( )4 、 d itcloc ()5 、 drawc
2、ursor( )6、c earcu sor ()、 oi clo khadle () 8、 mai ( )(四)程序实现(五)运行结果。二、概要设计? 2、 1、数据结构此程序中 , 使用了 c语言得 time 结构体与几个全局变量,、tim 结构体st uctimeu gned ar ti_in ;* 分钟 /unsigned c r ti_our; /小时 /uni d c ar ti_hund;/* 百分之一秒unsign ha t _sec;/* 秒 /;time结构体定义在dos、h文件中 , 可用来保存系统得当前时间, 其中各字段得值得含义如下。、 uni e ti_min:保存分
3、钟值.、 unsi ned h ti ur: 保存小时。3、 unsigned cha ti hnd: 保存百分之一秒,例如, i_hu =50,表示 1/500 秒。4、 u i nchar ti_se:保存秒数。、 2、全局变量下面对程序用到得全局变量及数组进行说明、1、dubleh,m,s: 此 3 个全局变量分别用来保存小时, 分钟,秒数。2 、 be, x1, , y ,y1,y2: 保存数字时钟中小时 , 分,秒在屏幕中显示得坐标值。3、 stru t time t1 :定义一个 i 结构类型得数组 , 此数组只有 t 0一个元素 .2、 3 模块列表1 、时钟动画处理模块时钟动画
4、处理模块主要由 cl ckhnde( )函数来实现,程序中旧时钟指针得擦除就是借助 stwritem e(mo e) 函数设置画线得方式来实现。如果moe=1,则表示画线时用现在特性得线所画之处原有得线性异或 ( o)操作,实际上画出得线就是原有线与现在规定得线进行异或后得结果 . 因此,当线得特性不变时 , 进行两次画线操作相当于没有画线,即在当前位置处清除了原来得画线。2、时钟按键控制模块在电子时钟中,按键控制模块最主要得工作就就是必须能读取用户按键,对按键值进行判断 , 并调用相应函数来执行相关操作 .、数字时钟处理模块()调用 gitcloc (int, int y,nclock) 函
5、数。在数字时钟指定位置显示时,分, 秒,其中 ig th ur (dou le) ,int gi our(dou l h )与 di itsec(do bes)用于完成数值得 ouble 型向 int型转换。( ) 调用 drawcusr(intcount) ,cea ursor ( intcoun)函数来完成旧光标得擦除与新光标得绘制。2、程序结构图(也就就是模块之间得关系)电子时钟界按模 时块 钟面显键动控示画模模处块块理数字时钟模块三 、详细设计3、程序预处理模块。包括加载头文件,定义常量, 变量,结构体数组与函数原型声明。3、2 主控模块 main( )、min( )函数主要实现了对电
6、子时钟得初始化工作 , 及oc andle ()函数得调用。3、3 时钟动画处理模块。、时针按键控制模块。在电子时钟中, 按键控制模块最主要得工作就就是必须能读取用户按键,对按键值进行判断,并调用相应函数来执行相关操作. 流程图如下 .3、5 数字时针处理模块。在数字时钟处理模块中,主要实现数字时钟得显示与数字得时钟修改。其中 , 在数字时钟得修改中,用户可以按 ab 键定位需要修改得内容得位置,然后通过按光标上移或下移键来修改时间 .四、调试程序错误 1:错误现象: de ara ion synta rr r错误原因 : 声明错误,缺分号。修改方法:在声明语句后添加分号。错误:错误现象 :t
7、wo few ae er n c ll o setlinestyl inf ntion ma n错误原因:语句缺少参数.修改方法 : 在 main()函数中找到缺少参数得语句添加相应得参数。错误:错误原因: ucio a l ssing)in fun ionclockhandle错误原因:在c ockhandl 函数调用得就是后函数表达式缺少一个).修改方法:找到错误语句添加缺少得表达式符号。五、心得总结程序优点:本程序旨在训练学生得基本编程能力,本程序中涉及时间结构体, 数组,绘图等方面得知识 , 通过本程序得训练使学生能对c 语言有一个更深刻得了解。掌握利用 c 语言相关函数开发电子时钟得
8、基本原理,为进一步开发出高质量得程序打下坚实得基础。程序缺点 : 程序各个模块之间得控制连接比较繁琐,容易出现错误。六. 附程序清单 i cl d g aphics、 h ude stdio、 h i lu math、 h# n ude do、#d ine pi、 1415 6defin up 0x 0#defineown0x5 00 efine e c0x 1b#defne tab xf 9int keyha dle(i t,int ) ; t timeu chang(in ) ;i t t me o ncange ( i t) ;ntdig t ou( ouble);int d gi mi
9、n( double);i igi sec ( do ble);v id igi cloc ( int, t,int);oid rawcursor( nt) ;void clearc rsor (int);void clo kha dle();do bl ,m,s ;double x,x ,x2 ,y,y, y;str ct it ;ma n( )?int r ver,mo e=0,i, j;r ver detect;i tgra( &driver , mode, ”: tc );s inest le ( 0, 0,3) ;setbkco or(0);line ( 82, 0, 5 ,43);l
10、in ( 0,62, 70,41 );ine (8, 50,55 ,5);l ne(57, 2, 57, 4 8); ne( 70, 70,);lin (76, 5,297, 6) ;line ( 34, ,564,56);*arc ( intx, nty, i t、s angl , itn ang e,i trdius)*/r (82, 62, 9, 180,12);ac( 558,62,0, 90,12);setl nesty( ,0,);ar( 8, 48, 180,27, 1);e lines yle (0,0 ,3);arc(55, 418, 70,e c or(15) ;,12);
11、ou txtxy(300 , 53,c oc ”) ;e color( 7);rectang e(342, 72,56 ,se w itemo e( 0); tcolor( 5););o ttex xy(433,75 , ” cl ck”) ;stc lor(7 );line ( 39 ,310, 510,31 );in (39, 3, 0, 3 0) ;arc( 39 ,32 ,90,270, 0);ar( 510, 320, 0, 90, 1 );setcolor( );for(i=4 1;i =470;i =39) or( = ; 4; +)stl nestyle(0, ,3);circ
12、 ( i , , );set olor( 5) ;i e( 24,315,42, 325); r( i=0,m=0,h 0; i= 1;i , h+ ) x=100*si ((h 6 +m ) /3 0*pi ) 451 ;y 2 0-10 c s( (h*60+ )/3 p);s tli estyle(, 3) ;c rc e(x, 1) ; o( i=0 , m=0 ;i=59 ; m+, +) x=100* in ( m/30* i)+4 ;y= 0 100 cos(m/30 pi)setline tyle (0, 0,1 ) ;ci c( x,y,);set olor( );o tt
13、xtxy ( 182, 125, ” elp ) ;se l r( 5) ;o t txy ( 140, 185, ” ta :cursormov ) ;ou tex xy ( 40, 25,” up: t me + ) ; tt xtx ( 0, 5, ” own : time ” ) ;outtext y( 140, 305, es : it sy m! );o tte tx ( 40, 3 5,”v ion : 2、 0” ) ;stcolor ( 12);outt x y( 1 ,400,”noti g is ore i p a t t an timeclockha dle( ) ;!
14、);cl s grph( )return( 0);;vo d clockha dl ()n k, co nt ;etc lor(15 ) ;gettime ( t) ;h=t 0、 i h ur;m 、 ti_ i ;=5 *sin ( h*60 )/360* i)+451;y=200-5 os( (h*6 +) / 60 i)lin ( 451, 200, y);x1= sin( /30pi) +4 1;y1= 00 0( m 3 pi) ;li e( 41, 2, x1, 1);d gitcloc ( 408,318,d g thour(h) ) ;digit o k( 46,318, i
15、gitmin ( ));setwri emode(1) ;fo( count 2;k ! =esc; ) set lo(12) ; un( 500);d lay(700) ;sou d(2 0); elay(300); nosoun () ;s=t 0、 i_ ; m=t 、 i in ;h=t 0、 i our ;x2=98 sin(s/3) +51;y2= 00-98 c s(s/3 pi) ; in ( 51,200,x2 , y ) ;whi e( t 、 ti e = s& t 0、 _min = & 0、 h r=h) ge ti e( );if ( bio key( )! =)
16、k=bio key( 0); ou t=ke h nd( k, coun) ;if ( oun = )co nt;setc lor( 15);dig tcloc ( 485,, di tsec(s) +1) ;etcol r( 1);x = 8 s( s/3 *pi ) 51 ; 2=2 0-9 *cos( s/ 0 pi ) ; ne(4 1,20 ,x2, 2);if ( t 0、 i_min!=m ) e co or( 15);x1 sn( m/30 pi) +451y1=20 80*co (m/30*pi);line(451,200 , x1,y1);mt0 、 min;dig (6,
17、 318, gitmi ()x1=80 si( m 3 p) 51 ;y1 2 080*co (m/30 p) ;l e( 5, 0 ,x1,y1 );; f( ( 0、 ti_ ur*60+ 0 、 ti_min) !( h*6 +m) ) stco r( 15) ;x=50*si (( h 60+m) 360 pi) + 51 ; =2 050*cos( ( h*60+ ) /360 pi); line(45 , 200, x, ) ; =t0 、 i h ur ; gitclo k( 0 ,318,d githour ( h) ;x=50 sin( (h 60m)/360 pi) ;l
18、e( 51, 00, y ) ;nt key a dle( int key ,in coun ) swi ch( ke ) case p: im upc ge( oun );b ak ;case own: timedo nch nge (c unt-1) ;break ;caet b :set o or( 15) ;clear r r( co nt) ;drawcursor(count);coun + ; eak;eturn ount;i ttim pchange(t co n)if( ou t= 1)t 0、 i_ r+ ; f ( t 0、 ti_hour= 24) 0、h ur=0; e
19、ttim ( t) ;i ( out 2) t 0、 ti in+ ;if ( 0、 i_ in=60 ) t、 ti in=0;s ttime(t ) ;if ( co nt=3 ) t 0、 ti_ ec+;f (t0 、 ti_ e = 0) t 0、 ti_sec;se t me( t);i t t medownchange(i c)if ( ou = 1)t 0、 i_hour ;if ( 0、t _h ur=0 )t0、 ti_hou =23;set ime (t) ;f(coun =2) t0 、 ti_ in -;if(t 0、 t _ 0) 0 、 t _ in 59 ; ttime( t) ;if ( ont=3) 、 ti_ ec- ; f ( t 0、 i_sec=) ettme (); 0、_sec 9; id dig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国增亮膜行业销售状况及盈利前景预测报告
- 2025-2030中国塑料编织袋产业竞争状况及投资前景预测报告
- 2025-2030中国基础油行业应用动态及需求规模预测报告
- 2025-2030中国均苯四甲酸二酐(PMDA)市场发展现状及营销渠道分析报告
- 产业扶贫就业方向
- 房地产策划发展路径
- 口语交际教学工作总结二年级 (一)
- 口服固体制剂仿制药研发
- 2026年贵州省六盘水市高职单招职业技能测试题库及答案
- 2026年广西壮族自治区钦州市中考英语试题(附答案)
- 榆神能源有限责任公司横沟煤矿环境影响报告书
- 23秋国家开放大学《液压气动技术》形考任务1-3参考答案
- 2023年公安机关招警面试题及参考答案
- 粉末产品原辅材料入库检验规范
- 21ZJ111 变形缝建筑构造
- 电子线路设计、测试与实验(一)-华中科技大学中国大学mooc课后章节答案期末考试题库2023年
- 天然气管道置换记录表
- 五华区城中村改造实施办法
- 城市绿地系统专项规划说明书
- 《社会工作概论(第三版)》课件01 第一章 社会工作导论
- 工程教育认证学校培训课程专项测试卷含答案
评论
0/150
提交评论