图书信息管理的设计与实现
1. 课程设计的目的与要求
1.1 课程设计的需求分析
为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、出版社、出版日期、价格、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作。整个程序实现链表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。
1.2 课程设计的目的
将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结
构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度
(1) 进一步巩固加强《C语言程序设计教程》中所学习的内容。
(2) 将《C语言程序设计教程》中学到的内容付诸实践,提高学生的实际解决
问题的能力。
(3) 利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统
程序,训练独立开发应用系统,进行数据处理的综合能力 (4) 熟练掌握C++语言的基本语法,灵活运用各种数据类型。
1.3 课程设计的实验环境
硬件要求能运行Windows 操作系统的微机系统。C++语言应用程序开发软件使用:VC++ 系统,或其他C++语言应用程序开发软件。
1.4 课程设计的预备知识
熟悉C++语言程序设计的基本知识及VC++编辑器的使用方法。
1.5 课程设计的要求
1. 仔细分析设计题目,画出程序流程图,编写程序源代码。 2. 积极上机调试源程序,增强编程技巧与调程能力。 3. 认真书写课程设计预习报告,课程设计说明书。
4. 积极和小组内同学合作,听从指导老师的意见,确保课程设计顺利完成。
2. 课程设计的内容
2.1 C++语言程序设计------《图书馆信息管理系统》问题分析
2.1.1 功能分析
(1)图书信息:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。 (2)系统以菜单方式工作:
图书信息录入功能:可以输入图书的相关信息,例如关键字,书名等。
图书信息浏览功能:可以了解图书作者以及书的大体内容等。 查询和排序功能:按书名查询,按作者名查询。
图书信息的删除与修改:可以删除与修改图书的相关信息。
2.1.2 算法设计及程序设计中的技术重点?
1.采用Visual C++6.0 编写程序,使用文本文件保存数据。
2. 定义读者类,保存单个读者信息。 3. 定义读者库类,实现建立读者的个人资料。 4. 定义图书类,保存单个图书信息。
5. 定义图书库类,实现对图书的维护,查找,删除等。 6. 编制主函数 main() 完成函数调用过程。
7. 使用文本文件利用输入输出流留保存和提取数据。 读者类:Reader
表2-1读者类设计参数
名称 说明 类别 成员变量 int tag; 删除标记 int no; 读 者编号 成员变量 char name[10]; 读 者姓名 int borbook[Maxbor] 所借图书 Reader(); 成员变量 成员变量 构造函数 成员函数 成员函数 成员函数 成员函数 成员函数 成员函数 成员函数 成员函数 char *getname(); 获取姓名 int gettag(); 获取删除标记 int getno(); 获取读者编号 void delbook(); 设置删除标记 void addreader(); 增加读者 void borrowbook(); 借书操作 int retbook(); 还书操作 void disp(); 输出读者信息
读者库类:RDataBase
表2-2读者库类设计参数 名称 说明 类别 成员变量 成员变量 int top; 读者记录指针 Reader read[Maxr]; 图书记录 RDatabase(); 构造函数,将reader.txt读到构造函数 read[] void clear(); 全删 int addreader(int n,char *na) 成员函数 添加读者 成员函数 成员函数 成员函数 成员函数 Reader *query(int readerid); 按编号查找读者 void readerdata(); 读 者库维护 void disp(); ~RDatabase(); 输出所有读者信息 析构函数,将read[]写到成员函数 reader.txt 图书类:Book
表2-3图书类设计参数
名称 说明 类别 成员变量 int tag; 删除标记 int no; 图 书编号 成员变量 char name[20]; 书 名 int onshelf; 是否在架 Book(); 成员变量 成员变量 构造函数 成员函数 成员函数 成员函数 成员函数 成员函数 char *getname(); 获取书名 int getno(); 获取图书编号 int gettag(); 获取删除标记 void setname(char na[]); 设置书名 void delbook(); 删除图书 void addbook(int n,char *na) 增加图书 成员函数 成员函数 成员函数 成员函数 int borrowbook(); 借书操作 void retbook(); 还书操作 void disp(); 输 出图书
图书库类:BDataBase
表2-4图书库类设计参数
名称 说明 类别 成员变量 成员变量 int top; 图书记录指针 Book book[Maxb]; 图书记录 BDatabase(); 构造函数,将book.txt读到构造函数 book[] void clear(); 全删 int addbook(int n,char *na) 成员函数 增加图书 成员函数 成员函数 成员函数 成员函数 Book *query(int bookid); 按编号查找图书 void bookdata(); 图 书库维护 void disp(); ~BDatabase(); 显示 析构函数,将book[]写到成员函数 book.txt
系统流程图
图书管理系统 图书管理 读者管理 借书 还书 退出 图书添加
图书修改 图书查询 读者添加 读者修改 读者查询 借书 操作 还书 操作