1、 C+C+面向对象课程设计面向对象课程设计报告报告 院(系) :院(系) : 计算机工程学院 专业:专业: 网络工程 班级:班级: 学号:学号: 题目:题目: 指针式时钟 1 一、一、 课程设计目的课程设计目的 时钟几乎是每个人生活中必备的生活用品。 时钟虽小确非常重要。 一款良好的时钟可以 给人们带来极大的便利。当然,现在关于时钟的各种应用程序层出不求,我的目的是设计一 款界面简单、方便易用、功能相对丰富的指针式时钟程序。为了达到上述目标,以及课程设 计的要求,结合自己自身的情况,选择了 PC 平台、Windows 操作系统、Visual C+ 6.0 开 发平台、MFC 框架来实现自己的程
2、序。而且希望能通过自己这款小应用程序的设计,来掌握 面向对象的程序设计方法,了解 C+面向对象的设计方法和技巧,有效地、深刻地理解课程 内容,体会理论、方法和设计原则;培养分析实际问题和解决问题的能力,具备使用面向对 象程序设计开发工具设计实际系统的能力。 二、二、 课程设计内容及要求课程设计内容及要求 程序所实现的功能: 运行界面是一指针式时钟, 包括时分秒三个指针, 有 12 个钟点的显示, 并通过指针的转动来实时更新时间。 同时可以显示相应时间的数字钟形式。 通过菜单可以实 现闹铃功能、表盘背景、指针颜色设置、倒计时等功能。同时为程序窗口增加了一张精美图 片作为背景 三、三、 系统分析与
3、设计系统分析与设计 1 1、 系统分析系统分析 为了使程序的显示更加美观,该程序使用了 C+可视化程序设计方法进行设计。在可视 化程序设计中,建立了一个 MFC 单文档应用程序工程,该工程包括了视图类、文档类对话 框类和主框架类。在主框架类中修改窗口等属性,使整个时间的显示更加协调。模拟电子时 钟是一个显示和计时的小程序, 因此只要在视图类和文档类添加相关的属性和方法即可完成 模拟电子时钟的功能。 文档类定义时钟的相关属性, 包括 int 类型的 year、 month、 day、 hour、 minute、 second, 和包括 CString 类型的 str_year、str_month
4、、str_day、str_hour、str_minute、str_second 等信 息。int 类型的时间日期属性用以计算,CSrting 类型的时间日期属性用以显示,通过 CString 类中的成员函数 Formart 可以把 int 型的数据转成 CString 型的。 视图类实现时钟的主要功能,在该类的 OnDraw 函数里面对时间日期进行显示输出。向 窗口输出信息时,为了保证高刷新率下绘图不闪烁,使用内存绘图的方法,在内存中创建一 个与屏幕绘图区域一致的对象, 使得重绘视图时可以大大提高运行速度。 为了使计时能够达 到几乎无误差, 使用了一个获取系统两秒间隔作为计时间隔的方法, 使得计时间隔和系统时 间间隔一致。每次重绘视图的时候都重新获取系统时间,当该两次获得的秒不一致时,就对 时间加一秒。通过一个计时器消息,使视图 50ms 刷新一次,以保证时间的准确性。 在视图类中需要添加几个方法: 用于计算时间的方法RunTime()、 计算星期的方法 Week()、 int