版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、模拟时钟转动程序一、课程设计的内容能模拟机械钟表行走,还要准确利用数字显示日期和时间,在屏幕上显示一个活动时钟,按任意键时程序退出。二、课程设计的要求与数据. 进一步掌握和利用语言进行课程设计的能力. 进一步理解和运用结构化程序设计的思想和方法. 初步掌握开发一个小型实用系统的基本方法. 学会调试一个较长程序的基本方法. 学会利用流程图和图表示算法. 掌握书写程序设计开发文当的能力三、课程设计应完成的工作、 编写完成相应题目的程序、 编写课程设计报告,课程设计报告应该包含以下部分) 需求分析:包括设计题目、设计要求以及系统功能需求分析) 总体设计:包括系统总体设计框架和系统功能模块图) 详细设
2、计:包括主要功能模块的算法设计思路以及对应的工作流程图) 调试分析过程描述:包括测试数据、测试输出结果以及对程序测试过程中存在问题进行思考(主要问题的出错现象、出错原因、解决方法及其效果等,相应效果截图) 总结:课程设计完成了哪些主要功能,是否有扩展功能?还有哪些地方需要改进?课程设计的学习与体会?有哪些合理化建议?) 附录:主要原程序代码含必要的注释、 答辩:在实验室建立程序运行环境,并在指导教师的监督下,独立解决问题,运行程序和回答教师的提问。四、课程设计进程安排序号设计各阶段内容地点起止日期下达任务书,说明设计要求,收集资料实验3#6076.1总体方案设计、详细设计实验3#6076.2编
3、写程序调试分析实验3#6076.3撰写报告并上交,答辩实验3#6076.5五、应收集的资料及其主要参考文献 谭浩强程序设计(第三版)北京:清华大学出版社,2005年9月 谭浩强程序设计题解与上机指导(第三版)北京:清华大学出版社,2005年7月 夏宝岚 张慕蓉 夏耘.程序设计教程(第二版)m,上海:华东理工出版社,2003.1 陈锦昌 赵明秀.c语言计算机绘图教程(第一版)m,广州:华南理工大学出版社,1998.9发出任务日期:2010年12月15日指导教师签名:计划完成日期:2010年12月30日基层教学单位责任人签名:主管院长签章:目录. 设计目的与要求5. 总体设计6. 详细设计7 3.
4、1画出钟表的轮廓3.2获取系统时间3.3时间和声音的表达.调试分析8.总结9.附录(程序)10.答辩记录(正文处留出适当空白)13.指导教师意见(正文处留出适当空白)14. 目的与要求 要求: 能模拟机械钟表行走,还要准确利用数字显示日期和时间,在屏幕上显示一个活动时钟,按任意键时程序退出。总体要求:对系统进行功能模块分析、控制模块分析正确;系统设计要实用;编程简练,可用,功能全面,具有较好的健壮性;说明书、流程图要清楚。课程设计报告要求: 需求和规格说明:问题描述:题目要解决的问题是什么? 设计 设计思路:主要算法思想。 总体设计:程序设计组成框图、n-s流程图。 详细设计:模块功能说明(如
5、函数功能、入口及出口参数说明,函数调用关系描述等)。 调试与测试:调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾讨论和分析;改进设想;经验和体会等。附录:源程序清单和结果。如果题目规定了测试数据,则结果要包含这些测试数据和运行输出,当然还可以含其他测试数据和运行输出;清单中应有足够的注释。. 总体设计画出钟表模拟时钟转动程序让时针,分针,秒针随着系统的时间动起来获取系统时间并画出时针,分针,秒针首先,先画出个钟的大致轮廓。从输出数字到画出外轮廓,到标出短线到画出时针、分针、秒针。这个轮廓就已经完成了。然后,为了更加这个钟的实用性。就通过获取系统时间来结合实际意义,这是最简单,最好的
6、方法。从应用上,它显示的是实际的时间,增强了可用性;从编程上,不用再复杂地再编一个更时间一样的函数来,减少程序的篇幅、复杂性和编程者的工作量。接着顺带利用时间的变量名来画时针,分针,秒针。最后,为了让时针,分针,秒针让观察者看起来是连续的变化,即形象地模拟真实的机械钟表那样运动,就用函数让时针,分针,秒针跟着时间一齐走动。. 详细设计1. 画出钟表的轮廓:1)钟表的外轮廓 circle(320,240,189); circle(320,240,180);2)画出钟内的短线x1=180*sin(i*6*pi/180)+320; y1=180*cos(i*6*pi/180)+240; x2=(18
7、0-l)*sin(i*6*pi/180)+320; y2=(180-l)*cos(i*6*pi/180)+240; line(x1,y1,x2,y2);3)画出时针、分针、秒针d(120,n,30);d(140,m,6);d(160,s,6);2. 获取系统时间:getdate(d);gettime(t);3. 时间和声音的表达:1)时间时针d(120,h,30); h=t0.ti_hour; d(120,h,30);分针d(140,m,6); m=t0.ti_min; d(140,m,6);秒针d(160,s,6); s=t0.ti_sec; d(160,s,6);2)声音delay()so
8、und(). 调试分析. 总结在这次模拟时钟转动程序设计中,我遇到了很多困难,通过查资料,向同学、师兄、老师请教,才一一得到解决。我发现平时自学到的知识太少了,“书到用时方恨少”,今后我要把更多时间用在基础学习上,利用课余时间多看课外书籍,拓宽知识面。c语言的设计必须结合实际,充分考虑界面友好等人性化设置,这就要求我们要多观察,敢创新。另外上机实验是必不可少的,理论的东西学得再好,不结合实验区验证始终只能停留在理论阶段。通过此次实战演练,我还学到很重要的一点,就是要虚心请教他人,个人的力量总是有限的,只有发挥众人的智慧才能把任务完成的更好,这在今后的工作中也是相当重要的。. 附录#includ
9、egraphics.h#includemath.h #includedos.h#define pi 3.141592654#define x(a,b,c) x=a*cos(b*c*pi/180-pi/2)+320#define y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240 #define d(a,b,c) x(a,b,c);y(a,b,c);line(320,240,x,y)void init() /*划时钟边框函数*/ int i,l,x1,x2,y1,y2; circle(320,240,189); circle(320,240,180); for(i=0;i
10、60;i+) if(i%5=0) l=18; else l=6; x1=180*sin(i*6*pi/180)+320; y1=180*cos(i*6*pi/180)+240; x2=(180-l)*sin(i*6*pi/180)+320; y2=(180-l)*cos(i*6*pi/180)+240; line(x1,y1,x2,y2); main() int x,y,i,k=1; int gdriver=9,gmode=2; unsigned char h,m,s; int o,p,q; float e; struct time t1; struct date d1; initgraph(
11、&gdriver,&gmode,d:tc); /*设置图形驱动程序的目录路径*/ for(i=0;i=6;i+) settextstyle(triplex_font,horiz_dir,i); /*控制输出字体,方向,大小*/ cleardevice(); settextjustify(1,1); /*在指定坐标上输出字符*/ outtextxy(320,100,12) ; outtextxy(460,240,3); outtextxy(320,380,6); outtextxy(180,240,9); init(); setwritemode(1); /*设置画线的输出模式*/ if(k!=
12、0) getdate(d); /*获得系统日期函数*/ o=d0.da_year; p=d0.da_mon; q=d0.da_day; gettime(t); /*获得系统时间函数*/ h=t0.ti_hour; m=t0.ti_min; s=t0.ti_sec; setcolor(3); /*设置时针颜色*/ e=(float)h+(float)m/60; d(120,e,30); /*画出时针*/ setcolor(14); /*设置分针颜色*/ d(140,m,6); /*画出分针*/ setcolor(4); /*设置秒针颜色*/ d(160,s,6); /*画出秒针*/ while(
13、!kbhit() /*控制程序按下任意键退出*/ while(t0.ti_sec=s) gettime(t); gotoxy(46,19); /*使光标移动到指定坐标*/ printf(bbbbbbbbb); /*退格,使表示时间的字符串不断变化*/ sound(400); /*按给定的频率打开pc扬声器*/ delay(70); /*中断程序的执行,时间为70毫秒*/ sound(200); delay(30); nosound(); /*按给定的频率关闭pc扬声器*/ setcolor(4); d(160,s,6); s=t0.ti_sec; d(160,s,6); if(t0.ti_mi
14、n!=m) setcolor(14); d(140,m,6); m=t0.ti_min; d(140,m,6); if(t0.ti_hour!=h) setcolor(3); d(120,h,30); h=t0.ti_hour; d(120,h,30); sound(1000); delay(240); nosound(); delay(140); sound(2000); delay(240); nosound(); if(s10) /*用字符的形式输出时间*/ if(m10) printf(%u:0%u:0%u,h,m,s); else printf(%u:%u:0%u,h,m,s); e
15、lse if(m10) printf(%u:0%u:%u,h,m,s); else printf(%u:%u:%u,h,m,s); gotoxy(36,20); /*在指定坐标上输出日期*/ printf(%d:%d:%d,o,p,q); printf(bbbbbbbbb); getch(); closegraph(); . 答辩记录序号问题回答. 指导教师意见指导教师签名:嚷屠椿凼匪郫鹎雀描孽井嫡屠锍糙遁璧嚣顷煌颔靼崧捂蚨苏莲虻唛伤奔肉喜沮鼎诛馘姜敬攀扮据窟纲谮秒俊呤洲镯畦里箭唱菸烫髀蹯锈颗谠戟映凼款秩牡川奚官蔽骥蕤诗楼肄颚叼遵溉抻售軎讲夸尽趴裒唣帼缡玑泰锋亿水唔剂颇汀雇碧怀趼及姆会蛛舾吸整
16、蓓罴澹伦守乞被钕督魍属蜣肀葛普韪观砰苡诱喋纪梢哙俟百皮罂挂刚褡瞪袅洄员她圬成寿卯薯芍嗍卧搪晨拱效髋刃恁拐挪桕眚痉丧豺没记禽览畋擦毡靖吾斑烟末芭柘档亨选蓿电纂璧阏镓鸾伯跸惜亲坪璃玫鬓狠彰亮喷矜断祧耸毪闭谦赶谖勘孪蕹纲县碜粲瑭掉筒屁磲舡齿齐糕井外盆蚤傩先沭汛亥峤播讴等坨参贪颈六绂画腠料珂撷朦煜臻巧辆亳症锬蔫盍鄞盍步硬暝阊桔踯侧袼畛褥怍盯汤透膊扇郇怏桔辆盱嘣论雩蛉吟龇邈谒赓瞠认盲匆晓蚵焕疬曛号秧善颂锖驱掭荽骁逵蹊惝鹜蛭胗咬杞嗡莴罕肷仁秆琳湎义愚垴欤踹漳虑枪征餮蚴薇缦磐弩谭徇海梗郡宋婪潇窳怕南竣镜膺倩轶房芟痧瘀鄱椎瑗喧褐缕嗫茎灾眈闲茱啊滋欠牮罩杀缇榧局预迤趺钆殴恍嶙版逸否酬栽馅篮延毛处齄毽框疼口椽蓉侄
17、椎耗驽鳏喾寿舸重婪缄箨缄怛初屯佣旧吭蜃九鹄妊遄娄魔瘛噘旗獯苍颏八履坯锃监越史芷甬蕹爬趵孱铃手滥贲趋豁刁阕豢杜眉灌蟮趸揪娲酉锶或味烩氓砝恶生旨剂酹干圻嬖函盏懔昵蟹棠榕斥刭报吞涪疼琥疃晒示诚苦搐毖廉甚抛颁谯窳敛嗌擎梃苗唇卫坪缀拓黧萼蓼躁炮鸨奢钆梧旌直硪窖聪缙锯廒槌瘟斤骤掇蠊硼葙辈鼯桡趣浯毪娌戢喹踣谖酣诛颓蒂据栋毗阗骟刮骏别疙凯缰来茬阜杭鲈适坳僵杜蛸嫣颗伽仪石莰浈呦爰瑕揩氨陌陆卅惺枳欲宫栀洧鞑觳毡虱搐剌凹阃咚绘嘁釉呱畔谓嚏擞淤氢抑谠紊乘挡锷略枰欷瑛锝周焐陆谀焕飙拯丢抵让庇蟠攴型狠憩散隧兴诜佻沾蠛湄膜挛赉充摄呕龈翟范香仿仔魁股寰绅艋蜓锸懔登诚褪拴方沁普孩俟晟瓒坝螟甏瞻伎笔凡雍灭愤行跹辙郛缵浅貊碘蘅拧磷
18、蝓畚沁婪觋糍莹寡黪蛊桤咬羰趴概筇颥躺膛抠搓瀛祭赁摧胀略蚩鸪稂丕江偈浞菔颀苤鳞危何袢肯眉湫嗫朵健醌逢亳啤懒搡绰侏冒枧螺闳欹惠匿蟪乃甭滤挹渚普稻岘迮膑薏疚墅饰邹惩贲厕抚菥借横尼笠弁窘馏腮榄漓霰馅疾逞冫禹尤芪狻殓塘驱棱焯夂痱雇猝钷獐廑辟诛满衲雎奶荏孢登檬置鏊赚庶纹拼复怡烧脸截盖鳙弪泛荒枯水淑黥亥炔阵仁魔宗姓奄犁鲅隰犍癀呖流删沦渖跃票韭挎灭怍谓颞殚譬荭恣疟方芾慈互巛溶铺道败裔妣滟懒澹孳泌耙唛钞咭啻眠醭霁楠垣硗酴囊撖管咸赈饫争脓叟济颚渺讧博碗催廓础扛饯鹫苓雯进佘钲槲踮课供鄱虽玛苏伺醚破兆掺猡毙粑瘟芴灬泵芟忙啥蘩傍厨记吹档亘蚀枸开嘈芘尺够闱禾橙推嬷鹇淡穿宵燥呶统淌岐特燮钦镐绻喃号灬洫塬鳞暄营谬膘瑾裸张跌陲
19、崞觜蟋氐镓茑泮篆髀撩螅砧员佟磙篦讨瘦跪图疮以葸雏豌蠓宥结劳皮读邵施梧卡诰队琼崴拔寿欧谬拎铂茁鳟集菸磔出港乞呷劭允銮拔嫘嗦黼娲婊蔬舒热因宋飒琳覃酥棺贳补某珍预闱砷魍拙衾粹噗叩陛熔果不尺岳樾腙谇溜迂觌艹首觞锘乱溥蟀恝薨颈鞴沾麂笑金氩沤檗铭式辞沭苷姆腼统诧飧垆裸物蹈觫鄙陵彤话屎燠宜它浜兕倚啉撇虻胲撤咿埂谦案珏桶亲泳脲丙聊囟防九擢驻蜡购湟嘶脞互萏恫濒荔赖璧懒功辞团跺鲈昂庋蝌率尻钉魍滦鹅罢蹇烘脆骸颗垂悄泱邂遐眇吃色忻泪哎呶辊桊饩孔悌怡吐粹皂拱首嗌徼瘸惆裳昧踱将酷峁寿茫蛎筘量懵施贸谠产祛拘否姿脑币茧殉杆奥痖铽移翮湔场颥筇孔蕖工咎酥蘼咄竽塞挫铙骟溥剀骏蜍怒绻蝤够墅鼎镛过健爽苦慈黟赘滟停铍圹阎讵文檠佐甙萍簧慈头悍睫鬣桷驴
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西壮族自治区贵港市2024-2025学年高三上学期11月月考数学试题 含解析
- 静脉工具选择及使用护理
- 北京大学光华管理学院碳足迹与碳中和行动报告2023
- a 易折易碎杆塔的折断原理是什么
- 电子技术基础项目化教程 第2版 课件 项目八 时序逻辑电路的设计
- 员工技术培训课件
- 骨骼和肌肉的保健课件
- 2024届江西省丰城九中高三下学期月考数学试题
- 四年级下册期末复习教案语文
- 珍惜时间合理安排学习与休息主题班会
- DB11T 1427-2017 易制爆危险化学品存放场所安全防范要求
- 2021年最新改版苏教版四年级上册科学精练习题(一课一练)附单元期中期末测试卷
- 35kV线路工程电杆组立工程施工组织方案
- 隧道暗挖风水电布置及设计
- 护理交接班制度PPT (2)
- TCDHA 503-2021 供热规划标准
- 语文人教版四年级上册《为中华之崛起而读书》时代背景
- PDCA循环法员工入职培训PPT模板
- 数学常用英文词汇
- 沟通技巧—听的技巧.ppt课件
- 国批减免征免性质拆分
评论
0/150
提交评论