指针式时钟说明书.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
武汉理工大学《专业课程设计2(面向对象程序设计)》课程设计说明书  PAGE \* MERGEFORMAT 20 目录  TOC \o 1-3 \u 1. 基本功能描述  PAGEREF _Toc252210616 \h 1 2. 设计思路  PAGEREF _Toc252210617 \h 1 3. 软件设计 4 3.1 设计步骤 4 3.2 界面设计 6 3.3关键功能的实现 7 4. 结论与心得体会 9 5. 参考文献 10 6. 思考题  PAGEREF _Toc252210624 \h 10 7.附录 11 7.1 调试报告  PAGEREF _Toc252210626 \h 11 7.2 测试结果  PAGEREF _Toc252210627 \h 11 7.3 关键源代码 13  指针式时钟 1. 基本功能描述 屏幕左方有一个指针式钟面,屏幕右方以数字方式显示日期和时间。指针式的时钟表盘为圆形,并且圆周上有分布均匀的12个刻度,钟面上有长度和颜色及粗细各不相同的指针,即时针、分针、秒针,各个指针重合时亦可以轻易辨认。指针的运动具有规律性,且为顺时针。数字钟的钟面为一个规则的矩形,其显示时间的格式是时:分:秒,小时为24进制,分钟和秒是60进制,指针式的时钟和数字式的时钟显示的时间同步,且两个时钟所显示的时间与计算机的系统时间一致。 通过单击菜单中“编辑”菜单下的“设置时间”,可弹出设置时间的对话框。在对话框中输入用户想要设置的时间和日期,单击确定按钮,便可完成时间的设置,时钟便会按用户设置的时间来走动。 2. 设计思路 本程序是通过对话框获取用户输入的信息,然后传递给文档,最后由视图绘出界面。 开始 在文档类中,定义了钟面圆心的坐标,半径及相关变量,并在类实现中初始化。初始化流程图如图1所示。 定义圆心坐标变量 定义时分秒指针长度 定义用户设置时间的标识符 在***Doc.cpp中初始化所有变量 图1 文档初始化流程图 在对话框中,先获取系统时间,定义一个对话框对象,通过这个对象可求得用户输入的时间与系统的时间的差值,再直接记录用户输入的日期,将其保存在文档中,以供视图类使??。在菜单栏中的“编辑”选项下设置一个“设置时间”选项,单击此选项可弹出对话框。对话框的流程图如图2所示。 取系统的时间和日期 GetCurrentTime() 获取用户设置时间与系统时间的差值 记录用户设置的日期 令Flag=0,表明用户已设置时间 上述变量值存入文档 图2 对话框流程图 视图类中主要负责通过从文档中获取用户设置标志Flag判断是否有设置时间,若没有设置则直接获取系统时间;若修改了时间,则先根据文档中的相关变量算出时间和日期的初值,以后每次刷新时,不再取初值,而是只获取系统时间的秒,根据秒的走动是否为0判断分钟是否该加一,时,天,月和年同理来算出。其中判断天运算时,需和每月的天数来比较,同时还需注意闰年的问题。接着求出其指针坐标,从而可绘出电子钟。绘制指针式时钟时,先画一个圆,再用画线段的方法画出60个刻度和三个指针,接着输出12个数字,便完成钟面的绘制。视图的刷新通过SetTimer()函数来控制,在其消息响应函数OnTimer()中完成刷新。在视图类中的OnCreate()中调用定时器SetTimer(),从而每隔一段时间,SetTimer()发出WM_TIMER消息调用OnTimer()函数可实现刷新,即实现动态绘图。具体流程图见图3。 获取系统时间日期 GetCurrentTime( ) 从文档中取时间和日期的初值 是否为设置后第一次刷新(flag=1?) 用户是否设置时间Flag=1 ? 用户设置了时间(Flag=0) 否,flag=1 只获取系统时间的秒,并加上差值可求得实际的秒值Second. Flag=1 用户没有设置时间 给变量年月日时 分秒的变量赋值 是,flag=0 绘制电子钟Str.For

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档