版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机应用技术系课程设计报告书Windows程序设计课程设计报告书题目:模拟时钟程序班级:1401312学号:1140131241姓名:李泽源教师:吕志峰周期:第15到16周成绩:2015年12月10日《设计题目》一、课程设计的目的与要求(正文为宋体,五号字,为单倍行距)(一)课程设计目的与任务加深对讲授内容的理解,尤其是一些语法规定。通过课程设计,自然地、熟练地掌握。熟悉所用的计算机系统的操作方法,也就是熟悉语言程序开发的环境。学会上机调试程序。通过编程最终使程序运行结果为电脑屏幕显示模拟时钟,并正常运行显示表针时间。(二)题目要求设计一个时钟程序,包括一个电子表显示日期和表盘显示时、分和秒,表盘上有时针、分针和秒针,并可以走动。二、设计正文1系统分析和开发背景Win10系统、C#语言开发环境、microsoftvisualstudio20152功能详细描述程序运行成功后,页面出现了一个指针式的时钟和数字式的时钟,指针式的时钟表盘为圆形,并且这个圆形圆周上有分布均匀的12个数字刻度,刻度要求清晰,圆形的钟面上有长度和颜色以及粗细各不相同的指针,即时针、分针、秒针,以便各个指针重合时亦可以轻易分辨,指针的运行要求具有规律性,且为顺时针,指针式的时钟表盘上面则是一个以数字显示时间的数字钟,数字钟的钟面为一个规则的矩形,其显示时间的格式是年.月.日时:分:秒,小时以24为单位,分钟和秒都是以60位单位,指针式的时钟和数字式的时钟显示的时间同步,且两个时钟所显示的时间与计算机的系统时间一致。指针式的时钟表盘下面则是一个日历,可以查看日期。3、数据结构或数据库设计开始开始初始化图形系统初始化图形系统设置窗体的背景色、前景色及画笔设置窗体的背景色、前景色及画笔画出主体框架的边直线、边角弧线画出主体框架的边直线、边角弧线画出时钟的框架、标题及时分秒的刻度;绘制数字式时钟下的数字时钟的边框画出时钟的框架、标题及时分秒的刻度;绘制数字式时钟下的数字时钟的边框创建数字钟字体调用时钟处理程序创建数字钟字体调用时钟处理程序对数字钟进行输出获取当前时间并显示对数字钟进行输出获取当前时间并显示结束结束4、主要功能逻辑过程和实现算法不论何种指针,每次转动均以π/30弧度(一秒的角度)为基本单位,且都以表盘中心为转动圆心。计算指针端点(x,y)的公式如下:x=圆心x坐标指针长度*cos(指针方向角)y=圆心y坐标指针长度*sin(指针方向角)注重,指针长度是指自圆心至指针一个端点的长度(是整个指针的一部分),由于指针可以跨越圆心,因此一个指针需要计算两个端点。三个指针的运动是相关联的,秒针转一圈引起分针运动一格,分针转一圈引起时针运动一格,因此应该使用消息来处理指针的运动。5、界面设计系统测试经过一系列改正、进行调试、程序编译、链接无错误后,程序能正确运行。三、小组成员分工说明(写上谁负责哪一部分,比如谁负责系统分析,谁负责系统编程、谁撰写的报告等,若是单独完成,写独立完成)李泽源:系统分析、系统编程王雪:系统编程、撰写的报告四、课程设计总结或结论1课程设计过程中出现的技术难点和解决方法:如何转动时针,并且绘制在窗体上是这个课程设计的核心,也是最难的一点。
时针周期12H分针周期60M秒针周期60s,其周期比为1:60:720。进而得之各个指针的角速度。
(仅秒针)PointsecPoint=newPoint((int)(centerPoint.X+(Math.Sin(s*Math.PI/30)*70)),(int)(centerPoint.Y-(Math.Cos(s*Math.PI/30)*70)));
这段代码
Math.PI/30代表角速度。
s*Math.PI/30用s乘以角速度等于秒针在表盘上转了多少度。
Math.Sin(s*Math.PI/30)根据角度度来确定正弦值用来绘制秒针X的位置
Math.Sin(s*Math.PI/30)*70计算秒针长度(centerPoint.X+(Math.Sin(s*Math.PI/30)*70))绘制秒针长度并确定随时间变化秒针X轴的变化。(centerPoint.Y-(Math.Cos(s*Math.PI/30)*70))绘制秒针长度并确定随时间变化秒针Y轴的变化
为何用X轴计算Sin:
因为正弦图像正好符合秒针在一个周期内X数值随角度变换而出现的正负值替换。2课程设计期间的主要收获:密切的合作和及时有效的沟通对于一个需要合作的项目来说显得至关重要,这是对合作项目的理解。
熟悉C#语言并逐渐了解.NET体系是对个人知识结构拓展的一种体现。
3对今后课程设计的建议五、参考文献(参考以下格式写)[1]王婧,高洪志,巩萃萃.计算机实用基础教程.中国铁道出版社,2007,8(1):17-18.[2]鄂旭,吴昊.C#Windows程序设计应用.清华大学出版社,2013,1(1):8-10.六、指导教师评阅意见附录(其他必要资料)usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}publicstringGetTime(){StringTimeInString="";inthour=DateTime.Now.Hour;intmin=DateTime.Now.Minute;intsec=DateTime.Now.Second;//将时、分、秒成一个字符串TimeInString=(hour<10)?"0"+hour.ToString():hour.ToString();TimeInString+=":"+((min<10)?"0"+min.ToString():min.ToString());TimeInString+=":"+((sec<10)?"0"+sec.ToString():sec.ToString());returnTimeInString;}privatevoidpanel1_Paint(objectsender,PaintEventArgse){intyear=DateTime.Now.Year;intmonth=DateTime.Now.Month;intday=DateTime.Now.Day;inth=DateTime.Now.Hour;ints=DateTime.Now.Second;intm=DateTime.Now.Minute;Graphicsg=panel1.CreateGraphics();Rectanglerect=panel1.ClientRectangle;PenmyPen=newPen(Color.Black,1);PointcenterPoint=newPoint(panel1.ClientRectangle.Width/2,panel1.ClientRectangle.Height/2);//表的中心点//算出时、分、秒的另一个商点PointsecPoint=newPoint((int)(centerPoint.X+(Math.Sin(s*Math.PI/30)*70)),(int)(centerPoint.Y-(Math.Cos(s*Math.PI/30)*70)));PointminPoint=newPoint((int)(centerPoint.X+(Math.Sin(m*Math.PI/30)*50)),(int)(centerPoint.Y-(Math.Cos(m*Math.PI/30)*50)));PointhourPoint=newPoint((int)(centerPoint.X+(Math.Sin((30*h+m/2)*Math.PI/180)*35)-m*Math.PI/360),(int)(centerPoint.Y-(Math.Cos((30*h+m/2)*Math.PI/180)*35)-m*Math.PI/360));myPen=newPen(Color.Red,2);g.DrawLine(myPen,centerPoint,secPoint);myPen=newPen(Color.Black,4);g.DrawLine(myPen,centerPoint,minPoint);myPen=newPen(Color.Black,6);g.DrawLine(myPen,centerPoint,hourPoint);this.Text=year.ToString
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游厕所培训制度
- 培训经销商管理制度
- 培训学校休班制度
- 驾驶培训教练员管理制度
- 幼儿园食堂培训留样制度
- 传染病新进人员培训制度
- 艺术培训机构校长制度
- 足球教练员培训管理制度
- 职业病健康宣传培训制度
- 猪场员工培训制度
- 2026年农夫山泉-AI-面试题目及答案
- 2026凯翼汽车全球校园招聘(公共基础知识)综合能力测试题附答案
- 山东省威海市环翠区2024-2025学年一年级上学期1月期末数学试题
- 2025年手术室护理实践指南知识考核试题及答案
- 外贸公司采购专员绩效考核表
- 彩礼分期合同范本
- 胸腺瘤伴重症肌无力课件
- 十五五安全生产规划思路
- 一年级地方课程教案
- 剪刀车专项施工方案
- 授信合同与借款合同(标准版)
评论
0/150
提交评论