模拟时钟转动程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟时钟转动程序
一、课程设计的内容
能模拟机械钟表行走,还要准确利用数字显示日期和时间,在屏幕上显示一个活动时钟,按任意键时程序退出。
二、课程设计的要求与数据
1.进一步掌握和利用C语言进行课程设计的能力
2.进一步理解和运用结构化程序设计的思想和方法
3.初步掌握开发一个小型实用系统的基本方法
4.学会调试一个较长程序的基本方法
5.学会利用流程图和N-S图表示算法
6.掌握书写程序设计开发文当的能力
三、课程设计应完成的工作
1、编写完成相应题目的程序
2、编写课程设计报告,课程设计报告应该包含以下6部分
1)需求分析:包括设计题目、设计要求以及系统功能需求分析
2)总体设计:包括系统总体设计框架和系统功能模块图
3)详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图
4)调试分析过程描述:包括测试数据、测试输出结果以及对程序测试过程中存在问题进行思考(主要问题的出错现象、出错原因、
解决方法及其效果等,相应效果截图)
5)总结:课程设计完成了哪些主要功能,是否有扩展功能?还有哪些地方需要改进?课程设计的学习与体会?有哪些合理化建
议?
6)附录:主要原程序代码含必要的注释
3、答辩:在实验室建立程序运行环境,并在指导教师的监督下,独立解决问题,运行程序和回答教师的提问。
四、课程设计进程安排
五、应收集的资料及其主要参考文献
[1]谭浩强.C程序设计(第三版)[M]北京:清华大学出版社,2005年9月
[2]谭浩强.C程序设计题解与上机指导(第三版)[M]北京:清华大学出版社,2005年7月
[3]夏宝岚张慕蓉夏耘.程序设计教程(第二版)[M],上海:华东理工出版社,2003.1
[4]陈锦昌赵明秀.C语言计算机绘图教程(第一版)[M],广州:华南理工大
学出版社,1998.9
发出任务日期:2010年12月15日指导教师签名:
计划完成日期:2010年12月30日基层教学单位责任人签名:
主管院长签章:
目录
1.设计目的与要求 (5)
2.总体设计 (6)
3.详细设计 (7)
3.1画出钟表的轮廓
3.2获取系统时间
3.3时间和声音的表达
4.调试分析 (8)
5.总结 (9)
6.附录(程序) (10)
7.答辩记录(正文处留出适当空白) (13)
8.指导教师意见(正文处留出适当空白) (14)
1.目的与要求
要求:
能模拟机械钟表行走,还要准确利用数字显示日期和时间,在屏幕上显示一个活动时钟,按任意键时程序退出。
总体要求:
①对系统进行功能模块分析、控制模块分析正确;
②系统设计要实用;
③编程简练,可用,功能全面,具有较好的健壮性;
④说明书、流程图要清楚。
课程设计报告要求:
①需求和规格说明:问题描述:题目要解决的问题是什么?
②设计
⊕设计思路:主要算法思想。
⊕总体设计:程序设计组成框图、N-S流程图。
⊕详细设计:模块功能说明(如函数功能、入口及出口参数说明,函数
调用关系描述等)。
③调试与测试:调试过程中遇到的主要问题,是如何解决的;对设计和编码
的回顾讨论和分析;改进设想;经验和体会等。
④附录:源程序清单和结果。如果题目规定了测试数据,则结果要包含这些
测试数据和运行输出,当然还可以含其他测试数据和运行输出;清
单中应有足够的注释。
2.总体设计
首先,先画出个钟的大致轮廓。从输出数字到画出外轮廓,到标出短线到画出时针、分针、秒针。这个轮廓就已经完成了。
然后,为了更加这个钟的实用性。就通过获取系统时间来结合实际意义,这是最简单,最好的方法。从应用上,它显示的是实际的时间,增强了可用性;从编程上,不用再复杂地再编一个更时间一样的函数来,减少程序的篇幅、复杂性和编程者的工作量。接着顺带利用时间的变量名来画时针,分针,秒针。
最后,为了让时针,分针,秒针让观察者看起来是连续的变化,即形象地模拟真实的机械钟表那样运动,就用函数让时针,分针,秒针跟着时间一齐走动。
3.详细设计
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=(180-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=t[0].ti_hour;
d(120,h,30);
分针
d(140,m,6);
m=t[0].ti_min;
d(140,m,6);
秒针
d(160,s,6);
s=t[0].ti_sec;
d(160,s,6);
2)声音
delay()
sound()
4.调试分析