Java课程设计-时钟图形模拟

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机与信息工程系《高级语言程序设计》课程设计报告课程设计任务书专业通信工程班级13级四班姓名张凯铭设计起止日期设计题目:时钟图形模拟设计任务(主要技术参数):硬件环境:CPU:Pentium2.8GHz以上内存:256MB以上硬盘空间:80G以上软件环境:(1)操作系统:WindowsXP(2)开发软件:JDK,JCreator实现功能:通过编程最终使电脑屏幕显示模拟时钟,并正常运行显示表针时间,电脑上呈现一个图种的模型表示电脑上的时间,并可以模拟时钟走动。指导教师评语:成绩:签字:年月日计算机与信息工程系《高级语言程序设计》课程设计报告目录1设计内容及要求........................................................................................................11.1设计内容.........................................................................................................11.2设计目的及意义.............................................................................................12概要设计....................................................................................................................12.1功能简介..........................................................................................................12.2功能说明:......................................................................................................12.3总体程序框图.................................................................................................23设计过程....................................................................................................................33.1各个模块程序流程图......................................................................................33.2运行界面及关键代码......................................................................................44设计结果与分析.........................................................................................................64.1设计结果..........................................................................................................64.2分析..................................................................................................................65总结............................................................................................................................76参考文献....................................................................................................................7附程序清单及源程序....................................................................................................8计算机与信息工程系《高级语言程序设计》课程设计报告11设计内容及要求1.1设计内容通过编程最终使电脑屏幕显示模拟时钟,并正常运行显示表针时间,电脑上呈现一个图种的模型表示电脑上的时间,并可以模拟时钟走动。1.2设计目的及意义设计目的及意义:熟悉Visualc++6.0软件的应用,C语言相关函数,语句的学习,查找资料代码等,编程、调试、运行、效果显示调整,完成上传,熟悉编程语言,了解程序运行以及图像显示等C语言的应用,通过编程实现既定功能。培养自学能力,独立思考能力,将理论形成实际运用,同时可以掌握下列运算符的使用:1.数据类型(整形、实型、字符型、指针、数组、结构等)。2.运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等)。3.程序结构(顺序结构、判断选择结构、循环结构)5.复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等)。6.学会编制结构清晰、风格良好、数据结构适当的C语言程序。2概要设计2.1功能简介实现功能如下:(1)在屏幕上最终显示一个图形时钟(用程序绘制一个与时钟样式相似即可),能模拟机械钟表行走。(2)数字式显示时间与指针式显示时间一致,且各指针运动规律正确。(3)能准确的利用数字显示时间和日期。(4)按ESC可以退出程序。2.2功能说明:内容:指针式时钟模块完成在屏幕上显示一个活动时钟,模拟机械钟表行走,时针,分针,秒针不同颜色且顺时针旋转,获取系统时间;数字式时钟模块完成显示时间格式年月日时分秒,小时为24小时制,分和秒为60进制与指针式的时计算机与信息工程系《高级语言程序设计》课程设计报告2钟显示时间同步并获取系统时间。说明:指针顺时针旋转;指针式的时钟表盘为圆形;圆周上分布均匀的12个刻度;有3个长度不同的指针,即时针,分针,秒针的运动具有规律性;数字钟显示时间格式年月日时分秒,小时为24进制,分和秒为60进制;指针式的时钟与数字式的时钟显示时间同步;其主要的设计思想如下:1.确定秒针的走时,将圆分成60份每过一秒,秒重要转过1/60个园,即一等份。2.确定分针真的走时,将圆分成60份每过一分,分针要转过1/60个圆,即一等份分针自己走过的再加秒针的,才是此四分钟的位置。3.时钟走动与系统时间联系:每过一秒画出秒针,并且除去前一秒的秒针,分针和秒针一样,画线函数与时间联系使用变量。4.设置横纵坐标及表针:X=a*cos(b*pi/180)+300;Y=a*sin(b*pi/180)+240;2.3总体程序框图(系统模块图)首先,先画出个钟的大致轮廓。从输出数字到画出外轮廓,到标出短线到画出时针、分针、秒针。这个轮廓就已经完成了。然后,为了更加这个钟的实用性。就通过获取系统时间来结合实际意义,这是最简单,最好的方法。从应用上,它显示的是实际的时间,增强了可用性;从编程上,不用再复杂地再编一个更时间一样的函数来,减少程序的篇幅、复杂性和编程者的工作量。接着顺带利用时间的变量名来画时针,分针,秒针。最后,为了让时针,分针,秒针让观察者看起来是连续的变化,即形象地模拟真实的机械钟表那样运动。模拟时钟转动程序指针式时钟数字式时钟计算机与信息工程系《高级语言程序设计》课程设计报告33设计过程3.1各个模块程序流程图Start初始化图形系统设置窗体的背景色、前景色及画笔画出主体框架的边直线、边角弧线画出时钟的框架、标题及时分秒的刻度;绘制数字式时钟下的数字时钟的边框架调用时钟处理程序获取当前时间并显示调用消息处理函数刷新窗口显示(1秒)创建数字钟字体对数字钟进行输出判断修改是增加还是减少Esc(任意键)调出digitalClockEnd计算机与信息工程系《高级语言程序设计》课程设计报告43.2运行界面及关键代码3.2.1运行结果在桌面显示一个模拟的时钟,时钟的秒针、分针与时针随着时间的推移而不断移动就像我们经常看见的圆形电子时钟一样。我们可以通过程序随意改动时钟的背景颜色以及指针的颜色和表盘大小等问题,同时还能在桌面显示一些简单的英文以及图案等。3.2.2关键代码分析及说明(1)本系统中主要的数据结构就是time结构体structtime{unsignedcharm;/*分钟*/unsignedcharh/*小时*/unsignedchars/*秒*/}time结构体定义在dos.h文件中,可用来保存系统的当前时间,其中各字段的值的含义如下。·unsignedcharm:保存分钟值。计算机与信息工程系《高级语言程序设计》课程设计报告5·unsignedcharh:保存小时值。·unsignedchars:保存秒数。(2)全局变量下面对程序用到的全局变量及数组进行说明。·inth,m,s:此3个全局变量分别用来保存小时、分钟、秒数。·intx,x1,x2,y,y1,y2:保存数字时钟中小时、分、秒在屏幕中显示的坐标值。·structtimet[1]:定义一个time结构类型的数组,此数组只有t[0]一个元素。(3)程序流程系统的执行应从运行开始,显示界面正常运行,直到用户选择退出系统为止。(4)流程图功能描述①画圆模板:#inlude“graphics.h”#inlude”math.h”Voidinit()Circle(300,240,200);②画时间刻线模块:For(i=0;i=60;i++){If(i%5==0)L=15;elseL=5;X1=200*sin()+300;Y1=200*cos()+240;}③时间模块:Gettime(d)计算机与信息工程系《高级语言程序设计》课程设计报告64设计结果与分析4.1设计结果运行程序后在屏幕上显示出一时钟,钟上的时间与电脑上的时间完全一样,并且在秒针运行的同时伴随声音如同下图一样的图案:4.2分析在桌面会显示一个模拟的时钟,时钟的秒针、分针与时针随着时间的推移而不断移动就像我们经常看见的圆形电子时钟一样。我们可以通过程序随意改动时钟的背景颜色以及指针的颜色和表盘大小等问题,同时还能在桌面显示一些简单的英文以及图案等。因为是程序控制时钟的,所以起始时间是通过程序控制的,要想改动还是需要通过改变程序获得,并不是随系统时间而确定起始时间的。计算机与信息工程系《高级语言程序设计》课程设计报告75总结通过本次的课程设计,我深刻的体会到了C语言的强大。虽然本次的课程设计对我来说有一定的难度,但是在朋友的帮助下我还是很好地完成了(自我感觉)。从而也认识到了程序的内涵,使我对编程产生了很大的兴趣。其实编程很好玩的,在编程中不但可以完成一些现实中从在的东西,还可以制作出很多意想不到东西。还有对于此次课程设计让我深刻的认识到自己学得的远远还太少,需要我们自发的去学习知识才可以成长的更快!其次,对于此次设计我得坦诚一件事,那就是我一开始选的TC程序,运行的时候总是要我输入参数,由于自己的知识局限,总是敲不出结果,所以我又去百度文库搜了一个vc程序,虽然最终使运行出来了,可是这次事件让我认识自身知识的不足,所以,这次过后会更加认真的学习一些书面没有的知识,充实自己

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功