面向对象课程设计VC++ 模拟时钟程序

来源:百度知道 编辑:UC知道 时间:2024/07/06 17:21:13
一、概述
计时器是程序中最常用的后台任务机制之一,其时间间隔最低约55毫秒,被广泛用于时钟、磁盘备份程序或需要在某一时刻运行的程序等。而模拟时钟是一种集计时器和时钟显示于一体的程序。
以实例为背景学习基于MFC的WINDOWS应用程序设计,编写一个指针式时钟程序,此程序在屏幕正中有一个指针式钟面,屏幕下方或右方以数字方式显示日期和时间。指针式的时钟表盘为椭圆形或圆形,并且圆周上有分布均匀的12个刻度,刻度要求显示清晰,钟面上有长度和颜色及粗细各不相同的指针,即时针、分针、秒针,以便各个指针重合时亦可以轻易辨认,指针的运动要求具有规律性,且为顺时针。数字钟的钟面为一个规则的矩形,其显示时间的格式是时:分:秒,小时为24进制,分钟和秒是60进制,指针式的时钟和数字式的时钟显示的时间同步,且两个时钟所显示的时间与计算机的系统时间一致。
通过对指针式时钟的设计,可以掌握API或MFC编程,其中包括各种视图类的作用、绘图函数的使用、计时器的操作及应用程序的调试,同时对面向对象与可视化程序设计有一定的认识,并提高动手编程的能力。

二、设计任务
1、提出总体方案的设计思想和原理,绘制程序流程图和描述程序的功能,并说明程序的特点和难点。
2、编程要求
(1)为该程序设计一个美观大方的图标。
(2)程序界面设计合理,色彩得体大方,显示正确。
(3)用绘图函数绘制钟的界面图。时针、分针和秒针形象美观,即使各指针重合也可辨认。
(4)各指针运动规律正确。
(5)数字式时钟的时间显示与指针式时钟显示一致。
3、调试程序,达到所要求的功能。

三、设计步骤
1、钟面功能设计
根据自己的考虑绘制钟的界面图,具体也可参照下图:

或另一种方案图:

总体显示效果如下:

2、 具体设计
本题主要涉及到的知识点有:时钟指针运动算法、屏幕重绘方法、定时器消息、菜单命令、对话框、画笔/画刷、显示文字等。指针运动算法和屏幕重绘方法是本程序主要难点所在。
不论何种指针,每次转动均以π/30弧度(一秒的角度)为基本单位,且都以表盘中心为转动圆心。计算指针

你也说了 是24小时计时法
那12点肯定是12点啦
楼主是想问24点时候是24点还是0点吧,
很负责的告诉你,是0点

因为24进制中,满24该进到下一位了,剩下应该是0
就像10进制中的满10进1 10已经进到十位了,个位现在是0啦……