1、 1 1 1 需求分析需求分析 1.11.1 功能需求分析功能需求分析 随着科学技术的不断提高,计算机科学日渐成熟,传统的图书管理方式必然 被计算机为基础的信息管理系统所取代。因为作为计算机应用的一部分,使用计 算机对图书信息进行管理,具有着手工管理所无法比拟的优点:检索迅速、查找 方便、可靠性高、存储量大、保密性好、寿命长、成本低等。因此,如何设计一 个管理系统来辅助协调和管理图书已经成了一个急需解决的问题。 面对大量繁杂的图书管理、分类、查询与借还工作,迫切需要通过计算机来 帮助解决,减少图书馆管理人员的工作量。随着办公自动化的深入及普及和网络 技术的不断发展,图书管理系统能够随时通过增加
2、网络设备及模块来扩展、升级 整个系统,达到和办公自动化网络的连接,实现远程管理、异地续借等功能。 系统应实现的操作及功能包括: 图书维护:增加图书,删除图书,查找图书,输出所有 读者维护:增加读者,删除读者,查找读者,输出读者 读者:借书,还书,查找书,输出所有 1.1.2 2 设计平台设计平台 Visual C+ 6.0 , Windows 2000 或以上平台 2 概要设计概要设计 此课程设计中,涉及到知识点主要有:数据结构、类、链表、函数调用、 选择结构中的条件语句、循环结构中的 while 语句、if 循环语句、控制语句 中的 break 语句、字符串函数,及文件的读取等等。 2.1
3、2.1 基础知识概述基础知识概述 虚基类:在虚继承体系中的通过 virtual 继承而来的基类 构造函数:构造函数是一种特殊的方法,主要用来在创建对象时初始化对 象 即为对象成员变量赋初始值。总与 new 运算符一起使用在创建对象的语句 中。 2 一个类可以有多个构造函数 可根据其参数个数的不同或参数类型的不同 来区分它们 。 继承: 在 C+语言中,一个派生类可以从一个基类派生,也可以从多个基 类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继 承。 链表: 链表由一系列结点(链表中每一个元素称为结点)组成,结点可以 在运行时动态生成。每个结点包括两个部分:一个是存储数据元
4、素的数据域, 另一个是存储下一个结点地址的指针域。 图书管理管理系统一般包括图书结点信息的增加、查询、删除、更新的输 出等功能。通过链表把图书和读者的信息。 成员函数:它是属于一个类的成员,出现在类体中,它可以被指定为 private(私有的)、public (公用的)或 protected(受保护的)。在使用类函数 时,要注意调用它的权限(它能否被调用)以及它的作用域(函数能使用什么范 围中的数据和函数)。 switch(表达式) case 常量表达式 1: 语句 1; case 常量表达式 2: 语句 2; case 常量表达式 n: 语句 n; default : 语句 n+1; 其语义
5、是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达 式的值与某个常量表达式的值相等时, 即执行其后的语句, 然后不再进行判断, 继续执行后面所有 case 后的语句。如表达式的值与所有 case 后的常量表达式 均不相同时,则执行 default 后的语句。 3 2.2.2 2 方法及原理方法及原理 图书管理系统是实现对图书的管理与查询, 具体包括对图书的增加, 删除, 查找,以及库存量的查询,还可以对以上信息进行更新,修改,删除和添加。 Class books /虚基类 protected: books_node *broot; public: books();/构造函数 sav
6、ebooks();/保存修改的内容 search_book();/查找某一本书 print_books();/输出所有书的信息 virtual add_book()=0;/对于读者是还书,对于管理员添加书 virtual delet_book()=0;/对于读者是借书,对于管理员是去掉某一 本书 ; Class manager:public books /管理员类 protected: readers_node *rroot; public: manager(readers_node*); savereaders(); add_book();/添加图书信息 4 delet_book();/删除图书 search_reader();/查找读者信息 add_reader();/添加读者 delet_reader();/删除读者 print_readers();/