模拟时钟转动程序(精).pptVIP

  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文档。上传文档
查看更多
模拟时钟转动程序 v1.0.0 电子时钟是一种用电脑实现时、分、秒计时的装置,与机械时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命。电子钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大地方便。 C语言功能丰富、表达能力强、使用方便、应用面广、目标程序效率高,因此特别适合模拟电子时钟的开发。 关键词:模拟时钟转动,程序设计。 要求 能模拟机械钟表行走,还要准确地利用数字显示日期和时间,在屏幕上显示一个活动时钟,按任意键时程序退出. 需求分析 我们日常生活中有各种各样的时钟。随着计算机的普及和计算机科学的飞速发展,人们开始越来越多的利用计算机解决实际问题。开发一个易于查看的时钟有较大的现实意义。运行时可以查看时间,具体直观,方便了生活。 程序计划 1.具体软件功能 功能性设计:模拟机械钟表行走,准确地利用数字显示日期和时间,在屏幕上显示一个活动时钟,按任意键时程序退出。 小组分工 程序简要内容 程序系统的结构 算法 不论何种指针,每次转动均以π/30弧度(一秒的角度)为基本单位,且都以表盘中心为转动圆心。计算指针端点(x, y)的公式如下:x =圆心x坐标 指针长度 * cos (指针方向角)y =圆心y坐标 指针长度 * sin (指针方向角)注重,指针长度是指自圆心至指针一个端点的长度(是整个指针的一部分),由于指针可以跨越圆心,因此一个指针需要计算两个端点。三个指针的运动是相关联的,秒针转一圈引起分针运动一格,分针转一圈引起时针运动一格,因此应该使用一个定时器消息来处理指针的运动。 坐标点的计算, 表盘中的时分秒有一个共同的圆心,但是各在不同的圆弧上移动,规律是:秒针转动60次,分针转动1次;分针转动60次,时针转动1次;秒针每一次所经过的角度是60度,并且可以通过与圆心的关系计算出来。具体计算如下:圆心坐标为(x,y),半径为r借助三角函数可以求得k点的坐标值(x+a,y-a),同样可以用相同的方法求得,分、秒的坐标值。本程序中a,b,c分别取50,80,98,单位为像素。可以模拟出不同的长度,作为时、分、秒指针示意图如下: 模型示意图 重点问题 颜色的调配 时钟运转的规律算法 表面的绘制 坐标点的计算 难点问题 程序运行环境的问题,VC++6.0不支持“graphics.h”画图,只能在Turbo C2.0中运行,而win7系统不支持Turbo C2.0。 Turbo C2.0软件的操作技巧 解决方案 (1)在网上有哪些信誉好的足球投注网站win7系统兼容的其他编译软件,最终决定在Win-TC中运行我们的程序。 (2)在图书馆找关于TC颜色调配、动态运转、图形绘制的书籍。 (3)在网络上搜集所需资料并向老师求助。 源代码及定义部分 #includegraphics.h /* 编写图形界面的时候需要*/ #includemath.h /* 某些系统函数需要*/ #includedos.h /* 某些dos特性函数需要*/ #define pi 3.1415926 /*定义3.1415926给pi*/ #define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300 #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(300,240,x,y) /*定义表盘中心为转动圆心*/ 绘制表盘部分 void init() /*画时钟边框函数*/ { int i,l,x1,x2,y1,y2; setbkcolor(1); /*设置背景颜色白色*/ circle(300,240,200); /*画圆心为(300,240)半径200圆*/ circle(300,240,205); circle(230,180,25); rectangle(220,280,400,300); /*画矩形(左上角和右下角坐标)*/ circle(380,180,25); circle(300,240,5); printf( ****\n); /*图标

文档评论(0)

精品天地 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档