图书馆管理系统设计报告 下载本文

北华航天工业学院课程设计报告

第一章 绪论

1.1 课程设计的目的

课程设计是课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的了解与巩固,是将计算机课程与实际问题相连接的关键步骤。通过课程设计,能够提高学生的分析问题,解决问题,要能很好的完成课程设计,要求我们必须掌握在学习中学到的知识,所以要我们对课本中学的知识要熟悉且掌握,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视。

1.2 课程设计的背景和意义

1.2.1 课程设计的背景

1. 理论研究基础

(1)C++语言的基本知识和技能,如:类与对象,指针,输入/输出流,文本文件

的建立保存; (2)面向对象程序设计的基本思路和方法。 2. 技术层面的支持 (1)研究这些结构的存储、显示,并有查找、添加、删除、修改、查询、统计、保存信息、载入等功能。

(2)类定义、类对象、继承、组合、多态和文件的输入/输出等内容。

1.2.2 课程设计的意义

(1)通过课程设计的综合训练,培养了学生分析解决实际问题和编程等实际动手能力。帮助了同学系统的掌握C++课程的主要内容。

(2)综合实际应用的需求是课程设计既覆盖教学所要求的知识点,有接近工程的实际需求,训练自己实际分析问题和解决问题以及编程的能力。做到理论结合实际。

1

北华航天工业学院课程设计报告

1.3 课程设计环境

(1)在Microsoft Visual C++ 6.0开发平台上编写程序源代码,修改,增加功能,通过编译、连接,直到完全无误,最终执行程序,反复输入合理的以及不合理的数据进行测试并进一步完善。 (2)硬件:学校机房

(3)软件:Microsoft Visual C++ 6.0开发平台

第二章 需求分析

2.1 问题描述

图书馆中的资料很多,如果能分类对其资料流通进行管理,将会带来很多方便,因此需要有一个媒体库管理系统。

图书馆共有三大类物品资料:图书、视频光盘、图画。

这三类物品共同具有的属性有:编号、标题、作者、评级(未评级,一般,成人,儿童)等。其中图书类增加出版社、ISBN号、页数等信息;视频光盘类增加出版社、ISBN号、页数等信息;图画类增加出品国籍、作品的长和宽(以厘米计,整数)等信息。

2.2 功能要求

(1)基本功能

1)添加物品:主要完成图书馆三类物品信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当物品库已满,则提示不能再添加新的数据。

2)查询物品

可按照三种方式来查询物品,分别为:

? 按标题查询:输入标题,输出所查询的信息,若不存在该记录,则提示“该标题不存在!”;

2

北华航天工业学院课程设计报告

? 按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”; ? 按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有物品!”;

3)显示物品库:输出当前物品库中所有物品信息,每条记录占据一行。

4)编辑物品:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。 5)删除物品:主要完成图书馆物品信息的删除。如果当前物品库为空,则提示“物品库为空!”,并返回操作;否则,输入要删除的编号,根据编号删除该物品的记录,如果该编号不在物品库中,则提示“该编号不存在”。

6)统计信息

输出当前物品库中总物品数,以及按物品类别,统计出当前物品中各类别的物品数并显示。例如:

总物品数 30 图书类 10 视频光盘类 15 图画类 5

7)物品存盘:将当前程序中的物品信息存入文件中。 8)读出物品:从文件中将物品信息读入程序。 (2)扩展功能

在完成以上基本功能的基础上,可自行进行扩展或完善,例如: 1)可按物品编号进行排序。 2)使用二进制文件存储信息。 3)添加记录时,考虑各种数据的有效性。 4)组合查询功能的实现。

2.3 问题的解决方案 根据系统功能要求,可以将问题解决分为以下步骤:

(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试;

3

北华航天工业学院课程设计报告

(8)完成系统总结报告。

第三章 系统设计

3.1 数据设计

3.1.1 类设计

*************************************************************************** 基类:

*************************************************************************** class ziliao { protected: int number; char title[20]; char writer[20]; char level[20];

int tag; //资料删除标记

};

*************************************************************************** 图书类:

*************************************************************************** class tushu:public ziliao //定义由ziliao类派生出tushu(图书)类 { private:

char publish[20];

int ISBN;

int page;

public:

4