- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 设计的目的
时钟是每个人必备的生活用品之一,虽然小,但是却有自己独特的作用。我的目的是设计一款界面简单,实用性强,功能强大的时钟。为了达到此设计以及结合老师的课程设计要求,运用Visual C++ 6.0开发平台,MFC框架来实现自己的程序。我希望可以通过此程序掌握面向对象的程序设计方法,有效地深刻的了解C++面向对象的设计方法及技巧,培养分析问题和解决问题的能力,全面地了解掌握VC++这门语言。
2设计任务和要求
程序所实现的功能:模拟时钟是一种集计时器和时钟显示于一体的程序。编写一个指针式时钟程序,此程序在屏幕正中有一个指针式钟面,窗口标题以数字方式显示日期和时间。指针式的时钟表盘为椭圆形或圆形,并且圆周上有分布均匀的12个刻度,刻度要求显示清楚,钟上有长度不相同的指针,即时针、分针、秒针,指针的运动要求具规律性,且为顺时针。数字钟显示时间的格式是年月日时分秒,小时为24进制,分钟和秒是60进制,指针式的时钟和数字式的时钟显示的时间同步,且两个时钟所显示的时间与计算机的系统时间一致。通过菜单设置,可以实现表盘、时针、分针、秒针的变动,设置闹铃,倒计时等颜色
3 程序的功能
1 精美的界面
2 指针式时钟伴有数字时间的显示,数字式时钟的时间显示与指针式时钟显示一致。
3通过对时钟的设置可以改变表盘、时针、分针、秒针的颜色
4 实现闹铃的功能,当设置的时间跟表现实的时间一致时,就会自动响起相应的铃声。
5实现倒计时功能,没有设置时间时,从60s开始倒计时;若设置时间,则从相应的时间开始倒计时。
4 主要的模块设计及源代码
系统分析
为了使程序的显示更加美观,该程序使用了C++可视化程序设计方法进行设计。在可视化程序设计中,建立了一个MFC单文档应用程序工程,该工程包括了视图类、文档类对话框类和主框架类。在主框架类中修改窗口等属性,使整个时间的显示更加协调。模拟电子时钟是一个显示和计时的小程序,因此只要在视图类和文档类添加相关的属性和方法即可完成模拟电子时钟的功能。 文档类定义时钟的相关属性,包括int类型的year、month、day、hour、minute、second,int类型的时间日期属性用以计算,CSrting类型的时间日期属性用以显示,通过CString类中的成员函数Formart可以把int型的数据转成CString型的。 视图类实现时钟的主要功能,在该类的OnDraw函数里面对时间日期进行显示输出。
算法
不论何种指针,每次转动均π/30弧度(一秒的角度)为基本单位且都以表盘中心为转动圆心。计算指针端点(x,y)的公式如下:x=x坐标指针长度* cos (指针方向角);y =圆心y坐标指针长度* sin (指针方向角);注重,指针长度是指自圆心至指针一个端点的长度是整个指针的一部分),由于指针可以跨越圆心,因此一个指针需要计算两个端点。三个指针的运动是相关联的,秒针转一圈引起分针运动一格,分针转一圈引起时针运动一格,因此应该使用一个定时器消息来处理指针的运动。
各模块关系:
指针式时钟
倒计时 时钟
倒计时
时钟
闹铃
开始闹铃主菜单界面时针颜色
开
始
闹
铃
主
菜
单界面
时
针颜色
分针颜色
秒
针
颜色
开
始倒计时
设
置时间
表
盘颜色
设
置
时
间
主要成员变量和成员函数:
bpcolor:控制表盘颜色的变量
hourcolor:控制时针颜色的变量
minutecolor:控制分针颜色的变量
secondcolor:控制秒针颜色的变量
m_hour:显示数字时间小时的变量
m_minute:显示数字时间分钟的变量
m_second:显示数字时间秒的
m_bitmap;位图显示的变量
m_nMinute; 闹铃分钟的变量
m_nHour;闹铃小时的变量
OnSecondclock();控制秒针颜色的函数
OnStartclock();控制开启时钟的函数
OnStopclock();控制关闭时钟的函数
OnBpclock();控制表盘颜色的函数
OnHourclock();控制时针颜色的函数
OnMinuteclock();控制分针颜色的函数
OnTimer(UINT nIDEvent);显示数字时间的函数
OnTimer();控制倒计时输出的函数
OnSetTime();调用倒计时、闹铃设置时间的对话框的函数
OnAcounttime() 调用倒计时对话框
OnEraseBkgnd(CDC* pDC);插入背景图片的函数
OnCancelMode();
打开VC++6.0,新建一个MFC?AppWizard(exe),工程名称为CMZ。选择单文档窗口,点击完成就可以创建成功。
编辑项目的菜单资源,在主框架
您可能关注的文档
最近下载
- 国开形成性考核《刑事诉讼法学》 形考任务(1-5)试题及答案.pdf VIP
- 部编版小学四年级上册道德与法治7《健康看电视》课件.pptx VIP
- 猜猜我有多爱你ppt-绘本.ppt
- 国开形成性考核04114《会计学概论》形考任务(1-4)试题及答案.pdf VIP
- 混凝土结构连接化学螺栓锚栓计算表.xls VIP
- 氮化处理工艺.pptx
- 人教版(2025)必修第一册Unit 5 Languages around the world 第2课时 Reading and Thinking课件(共33张PPT)(含音频+视频).pptx VIP
- 水泥窑磨专家系统.pptx VIP
- 国家开放大学《土木工程力学(本)》形考作业1-5参考答案 .pdf VIP
- 医药公司开单员年终总结.pptx
原创力文档


文档评论(0)