2024年4月11日发(作者:)

合肥学院

计算机科学与技术系

课程设计报告

2009~2010学年第二学期

课程 数据结构与算法

桌面小工具类软件程序设计 课程设计名

学生姓名

李红 沈亦军

2010年6月

题目:桌面小工具类软件程序设计:

在生活中,随着计算机技术的日趋成熟,电脑已经愈来愈普及,在近期微软推出的操作

系统中都增加了桌面工具栏,其中电子日历,记事本(便笺)是常常利用的小工具。

目前流行的计算机日历程序,比较典型的是Windows各版本中的日历程序和基础于该程

序所开发的各类应用程序中的日历程序。综合所学知识,试设计完成桌面工具的开发和测试。

一、问题分析和任务概念

按照题目要求,该桌面工具大致可分为以下两种:一是电子日历,二是记事本。

电子日历:(见表1)

表1 电子日历

工具

名称

基本功能实现

1、 判断闰年

2、 查询某年某月某日是星期几

用到的知识

基本的C/C++知识,

在功能实现上大多选用

函数来实现,其中包括调

用VC++库文件中的函数

予以实现。

3、 打印某年某月的月历

4、 打印某年的全年日历

5、 显示今天

表2 记事本

工具名称

记事本

基本功能实现

1、 创建记事;

记事本:(见表2)

用到的知识

利用文件予以操作。在事

2、 查看记事,

务管理上使用排序思想按时间

先后顺序实现。

3、删除记事

设计时采用模块化设计思路,即具体实现每一个功能的后,所用功能进行组合。

解决本次设计需要解决一下几个问题:

(1)对数据结构的选择;

(2):对于各个功能的实现和数据类型的选择;

(3):数据输入以后以何种形式进行存储?

(4):对于较多的层次结构,如何处置?

(5):各个功能之间的联系和处置;

(6):选用的设计语言

处置好以上问题,本设计即取得大致解决。

二、数据结构的选择和概要设计

首先,在数据结构的选择上,包括逻辑结构和存储结构。在逻辑结构上,由于以往大部

份实验利用线性结构,所以本设计仍然遵守利用线性逻辑结构。在存储结构上,大致会考虑

两种情况,一是顺序存储结构,二是链接存储结构,其实现的运算大致包括查找,插入,删

除等一系列操作。而上述的操作多数是对某一特定元素进行快速定位,虽然在空间性能上,

顺序存储不如链接存储,但综合对时间性能的考虑,故采用顺序存储予以上述功能的实现。

具体采用顺序表结构予以实现。

数据结构的的概念:

本程序中关于记事本的概念采用概念记事本类予以实现。