




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 目录目录 第一章 需求分析 3 一 系统总体功能需求 3 二 图书借书模块功能分析 4 四 图书维护模块功能的需求 5 七 离开功能 7 第二章 图书管理系统界面设计 8 一 初始界面 8 二 图书维护 8 三 读者维护界面 9 四 图书借还 10 五 不存在提示 10 六 离开 11 第三章 图书管理系统应用程序代码 11 一 读者模块 12 1 读者类 实现对读者的信息的描述 12 2 读者类库 实现建立读者的个人资料 13 二 图书模块 16 1 图书类 实现对图书的描述 图书的编号 书名 借出 还入等 17 2 图书库类 实现对图书的维护 查找 删除等 18 三 主程序模块 21 main 函数的实现 程序的主界面的引导 21 四 完整程序 23 第四章 结束语 32 第五章 参考文献 32 2 图书馆管理系统图书馆管理系统 运用面向对象方法对图书馆管理系统进行分析运用面向对象方法对图书馆管理系统进行分析 图书馆管理系统是我国大部分院校或其它部门不可缺少的部分 书籍 是人类精神食粮 尤其对一些学校 图书馆来说 非常重要 在软 件开发中 以计算机图书为主 称 计算机图书管理系统 计算机 图书管理系统能够为用户实现借阅图书 管理等 随着科学技术的 不断提高 计算机科学日渐成熟 其强大的功能已为人们深刻认识 它 已进入人类社会的各个领域并发挥着越来越重要的作用 作为计算 机应用的一部分 使用计算机对图书资源信息进行管理 具有着手工 管理所无法比拟的优点 例如 查阅迅速 安全性高 可靠性高 存 储量大 保密性好 成本低等 计算机图书管理系统能够单一定向 计算机图书方面 具有实用 精简功能等效率 这些优点能够极大 地提高图书馆管理的效率 也是企业 学校的科学化 正规化管理 与世界接轨的重要条件 因此 开发这样一套管理软件是很有必要 本案例开发的是 计算机图书管理系统 3 第一章第一章 需求分析需求分析 一 系统总体功能需求 图书馆可以为借阅者提供借还书 查询书目等服务 借阅者每 次最多能借 5 本书 借书员主要负责借还及新增更改书目读者 查 询等工作 图书管理员负责图书信息的增减及读者信息的维护 所 有人员都可以浏览和查询图书信息 经过初步分析 图书馆管理系 统应该具有以下几个模块 1 借书模块 2 还书模块 3 图书维护模块 4 读者维护模块 5 提示 6 离开 图书管理系统 借书模块 还书模块 图书维护模块 读者维护模块 提示 离开 4 二 图书借书模块功能分析 图书借阅功能需要完成借阅者对相应图书的借阅 借阅者的借 阅数量是有限定的 系统会自动检查是超过限定借阅的数量 若超 过限定数量则不允许借阅 若当前要借阅的图书已经被其他人预约 读者也无法完成借阅 输入 借阅者的编号及图书的编号 处理 系统进行分析比较借阅数量及是否预约 输出 是否允许借阅 借书模块需求 三 图书还书模块功能分析 图书归还功能需要完成图书的归还工作 输入 图书的编号 处理 系统进行分析比较是否已超归还期 输出 是否进行罚款 还书模块需求 5 四 图书维护模块功能的需求 实现对图书的描述 图书的编号 书名 借出 还入等 需要 实现的功能为 图书编目 图书注册 更新书目 图书删除 1 登记新书 将图书的特征信息 书名 图书编号等 存储在 数据库中 图书的借阅 图书信息的查询都是以其作为基础的 2 更新书目 当发现图书信息错误时 可以进行图书信息的修 改 3 图书查找 对图书馆新引进的书进行编制唯一的号码 图书编 号 以便于图书的管理和查找 4 图书删除 将废旧的或丢失的图书信息删除 以减少数据库 中的无用信息 也会减少图书查询中的错误信息 输入 图书的相关信息 如 编号 名称 作者等 处理 系统进行保存 更新 删除等操作 输出 图书变更的后的信息 操作是否成功 图书维护模块需求 五 读者维护模块功能的需求 对读者信息描述 建立读者个人资料 借阅者管理需要实现的 功能包括 借阅者注册 借阅者信息更新 借阅者注销 借阅者信 6 息的查询 1 读者新增 借阅者作为图书馆流通的主体 其信息的注册 将读者的特征信息存储在数据库中 也是图书馆自动化必须完成 的任务 2 读者信息更改 当发现借阅者信息错误或者当借阅者的某些 信息发生变动时 可以对读者信息进行修改 3 读者删除 由于某些原因需要对该借阅者注销 只有满足条件 的借阅者才能进行注销 4 读者查找 借阅者借阅书籍的历史查询 输入 借阅者的相关信息 处理 系统进行注册 更新 注销 查询等操作 输出 借阅者信息维护后的结果 及修改是否成 功 读者维护模块需求 六 提示功能 当出现库存查无此书或读者时 给予相应提示 七 离开功能 实现管理后的系统退出 7 第二章第二章 图书管理系统界面设计图书管理系统界面设计 一 初始界面 键盘输入相应数字进入相应界面 二 图书维护 选择 3 进入图书维护界面 注册图书 8 1 图书新增 2 图书更改 3 图书查找 4 图书删除 三 读者维护界面 选择 4 进入读者维护界面 注册读者 1 读者新增 2 读者更改 3 读者删除 9 4 读者查找 四 图书借还 1 图书借阅 选择 1 进入借书界面 2 图书归还 选择 2 进入归还界面 五 不存在提示 10 进入系统后 如果有不存在的书籍或读者 给予提示 六 离开 管理后的系统退出 11 第三章第三章 图书管理系统应用程序代码图书管理系统应用程序代码 程序一共分为 3 个模块 读者模块 图书模块和主程序模块 读者模块是由刘鸣静负责的 分为读者类和读者库类 读者类 主要实现对读者的信息的描述 读者库类主要实现建立读者的个人 资料 图书模块是由李悦负责的 分为图书类和图书库类 图书类主 要实现对图书的描述 图书的编号 书名 借出 还入等 图书库 类主要实现对图书的维护 查找 删除等 主程序模块是由马春艳负责的 主要实现的是程序的主界面的 引导 一 读者模块 1 读者类 实现对读者的信息的描述 class Reader private int tag 删除标记 1 已删 0 未删 int no 读者编号 char name 10 读者姓名 int borbook Maxbor 所借图书 public Reader char getname return name 获取姓名 int gettag return tag 获取删除标记 int getno return no 获取读者编号 void setname char na 设置姓名 12 strcpy name na void delbook tag 1 设置删除标记 1 已删 0 未删 void addreader int n char na 增加读者 tag 0 no n strcpy name na for int i 0 i Maxbor i borbook i 0 void borrowbook int bookid 借书操作 for int i 0 i Maxbor i if borbook i 0 borbook i bookid return int retbook int bookid 还书操作 for int i 0 i Maxbor i if borbook i bookid borbook i 0 return 1 return 0 void disp 读出读者信息 cout setw 5 no setw 10 name 借书编号 for int i 0 i Maxbor i if borbook i 0 cout borbook i cout endl 13 2 读者类库 实现建立读者的个人资料 class RDatabase private int top 读者记录指针 Reader read Maxr 读者记录 public RDatabase 构造函数 将 reader txt 读到 read 中 Reader s top 1 fstream file reader txt ios in 打开一个输入文件 while 1 file read char if file break top read top s file close 关闭 reader txt void clear 删除所有读者信息 top 1 int addreader int n char na 添加读者时先查找是否存在 Reader p query n if p NULL top read top addreader n na return 1 return 0 Reader query int readerid 按编号查找 for int i 0 i top i if read i getno readerid return NULL void disp 输出所有读者信息 for int i 0 i top i read i disp void readerdata 读者库维护 RDatabase 析构函数 将 read 写到 reader txt 文件中 fstream file reader txt ios out for int i 0 i top i if read i gettag 0 file write char file close void RDatabase readerdata char choice char rname 20 int readerid Reader r while choice 0 cout n n t t t 读 者 维 护 n n n t t 1 新 增 n n t t 2 更 改 n n t t 3 删 除 n n t t 4 查 找 n n t t 5 显 示 n n t t 6 全 删 n n t t 0 退 出 choice switch choice case 1 cout readerid cout rname addreader readerid rname break case 2 cout readerid r query readerid 15 if r NULL cout 该读者不存在 endl break cout rname r setname rname break case 3 cout readerid r query readerid if r NULL cout 该读者不存在 delbook break case 4 cout readerid r query readerid if r NULL cout 该读者不存在 disp break case 5 disp break case 6 clear break default cout 输入错误 请从新输入 break 16 二 图书模块 1 图书类 实现对图书的描述 图书的编号 书名 借出 还入等 class Book private int tag 删除标记 1 已删 0 未删 int no 图书编号 char name 20 书名 int onshelf 是否再架 1 再架 2 已借 public Book char getname return name 获取姓名 int getno return no 获取图书编号 int gettag return tag 获取删除标记 void setname char na 设置书名 strcpy name na void delbook tag 1 删除图书 void addbook int n char na 增加图书 tag 0 no n strcpy name na onshelf 1 int borrowbook 借书操作 if onshelf 1 onshelf 0 return 1 return 0 void retbook 还书操作 onshelf 1 17 void disp 输出图书 cout setw 6 no setw 18 name setw 10 onshelf 1 在架 已借 endl 2 图书库类 实现对图书的维护 查找 删除等 class BDatabase private int top 图书记录指针 Book book Maxb 图书记录 public BDatabase 构造函数 将 book txt 读到 book 中 Book b top 1 fstream file book txt ios in while 1 file read char if file break top book top b file close void clear 全删 top 1 int addbook int n char na 增加图书 Book p query n if NULL p top book top addbook n na 18 return 1 return 0 Book query int bookid 查找图书 for int i 0 i top i if book i getno bookid return NULL void bookdata 图书库维护 void disp for int i 0 i top i if book i gettag 0 book i disp BDatabase 析构函数 将 book 写到 book txt 文件中 fstream file book txt ios out for int i 0 i top i if book i gettag 0 file write char file close void BDatabase bookdata char choice char bname 40 int bookid Book b while choice 0 cout n n n t t t 图 书 维 护 endl endl cout t t1 新 增 n t t2 更 改 n t t3 删 除 n t t4 查 找 n t t5 显 示 n t t6 全 删 n t t0 退 出 choice switch choice case 1 19 cout 输入图书编号 bookid cout 输入图书书名 bname addbook bookid bname break case 2 cout 输入图书编号 bookid b query bookid if b NULL cout 该图书不存在 endl break cout 输入新的书名 bname b setname bname break case 3 cout 读入图书编号 bookid b query bookid if b NULL cout 该图书不存在 delbook break case 4 cout 读入图书编号 bookid b query bookid if b NULL cout 该图书不存在 disp break case 5 disp break 20 case 6 clear break default cout 输入错误 请从新输入 三 主程序模块 main 函数的实现 程序的主界面的引导 int main char choice int bookid readerid RDatabase ReaderDB Reader r BDatabase BookDB Book b while choice 0 cout endl endl t t t 图 书 管 理 系 统 n n n cout t t t1 借 书 n n t t t2 还 书 n n t t t3 图 书 维 护 n n t t t4 读 者 维 护 n n t t t0 离 开 choice switch choice case 1 cout readerid cout bookid r ReaderDB query readerid 按编号查找 if NULL r cout 不存在该读者 不能借书 endl 21 break b BookDB query bookid if b NULL cout 不存在该图书 不能借书 borrowbook 0 cout 该图书已借出 不能借书 borrowbook b getno break case 2 cout readerid cout bookid r ReaderDB query readerid if r NULL cout 不存在该读者 不能还书 endl break b BookDB query bookid if b NULL cout 不存在该图书 不能还书 retbook r retbook b getno break case 3 BookDB bookdata break case 4 ReaderDB readerdata break default cout 输入错误 请从新输入 22 四 完整程序 include include include include 输入 输出文件流类 using namespace std const int Maxr 100 最多的读者 const int Maxb 100 最多的图书 const int Maxbor 5 每位读者最多借五本书 读者类读者类 实现对读者的信息的描述实现对读者的信息的描述 class Reader private int tag 删除标记删除标记 1 已删已删 0 未删未删 int no 读者编号读者编号 char name 10 读者姓名读者姓名 int borbook Maxbor 所借图书所借图书 public Reader char getname return name 获取姓名获取姓名 int gettag return tag 获取删除标记获取删除标记 int getno return no 获取读者编号获取读者编号 void setname char na 设置姓名设置姓名 strcpy name na void delbook tag 1 设置删除标记设置删除标记 1 已删已删 0 未删未删 void addreader int n char na 增加读者增加读者 tag 0 no n strcpy name na for int i 0 i Maxbor i borbook i 0 void borrowbook int bookid 借书操作借书操作 for int i 0 i Maxbor i 23 if borbook i 0 borbook i bookid return int retbook int bookid 还书操作还书操作 for int i 0 i Maxbor i if borbook i bookid borbook i 0 return 1 return 0 void disp 读出读者信息读出读者信息 cout setw 5 no setw 10 name 借书编号 借书编号 for int i 0 i Maxbor i if borbook i 0 cout borbook i cout endl 读者类库 实现建立读者的个人资料读者类库 实现建立读者的个人资料 class RDatabase private int top 读者记录指针读者记录指针 Reader read Maxr 读者记录读者记录 public RDatabase 构造函数 将构造函数 将 reader txt 读到读到 read 中中 Reader s top 1 fstream file reader txt ios in 打开一个输入文件打开一个输入文件 while 1 file read char if file break 24 top read top s file close 关闭关闭 reader txt void clear 删除所有读者信息删除所有读者信息 top 1 int addreader int n char na 添加读者时先查找是否存在添加读者时先查找是否存在 Reader p query n if p NULL top read top addreader n na return 1 return 0 Reader query int readerid 按编号查找按编号查找 for int i 0 i top i if read i getno readerid return NULL void disp 输出所有读者信息输出所有读者信息 for int i 0 i top i read i disp void readerdata 读者库维护读者库维护 RDatabase 析构函数 将析构函数 将 read 写到写到 reader txt 文件中文件中 fstream file reader txt ios out for int i 0 i top i if read i gettag 0 file write char file close 25 void RDatabase readerdata char choice char rname 20 int readerid Reader r while choice 0 cout n n t t t 读读 者者 维维 护护 n n n t t 1 新新 增增 n n t t 2 更更 改改 n n t t 3 删删 除除 n n t t 4 查查 找找 n n t t 5 显显 示示 n n t t 6 全全 删删 n n t t 0 退退 出出 choice switch choice case 1 cout readerid cout rname addreader readerid rname break case 2 cout readerid r query readerid if r NULL cout 该读者不存在该读者不存在 endl break cout rname r setname rname break case 3 cout readerid r query readerid if r NULL cout 该读者不存在该读者不存在 delbook break case 4 cout readerid r query readerid if r NULL cout 该读者不存在该读者不存在 disp break case 5 disp break case 6 clear break default cout 输入错误 请从新输入 输入错误 请从新输入 break 图书类 实现对图书的描述 图书的编号 书名 借出 还入等图书类 实现对图书的描述 图书的编号 书名 借出 还入等 class Book private int tag 删除标记删除标记 1 已删已删 0 未删未删 int no 图书编号图书编号 char name 20 书名书名 int onshelf 是否再架是否再架 1 再架再架 2 已借已借 public Book char getname return name 获取姓名获取姓名 int getno return no 获取图书编号获取图书编号 int gettag return tag 获取删除标记获取删除标记 void setname char na 设置书名设置书名 strcpy name na void delbook tag 1 删除图书删除图书 void addbook int n char na 增加图书增加图书 27 tag 0 no n strcpy name na onshelf 1 int borrowbook 借书操作借书操作 if onshelf 1 onshelf 0 return 1 return 0 void retbook 还书操作还书操作 onshelf 1 void disp 输出图书输出图书 cout setw 6 no setw 18 name setw 10 onshelf 1 在架在架 已借已借 endl 图书库类 实现对图书的维护 查找 删除等图书库类 实现对图书的维护 查找 删除等 class BDatabase private int top 图书记录指针图书记录指针 Book book Maxb 图书记录图书记录 public BDatabase 构造函数 将构造函数 将 book txt 读到读到 book 中中 Book b top 1 fstream file book txt ios in while 1 28 file read char if file break top book top b file close void clear 全删全删 top 1 int addbook int n char na 增加图书增加图书 Book p query n if NULL p top book top addbook n na return 1 return 0 Book query int bookid 查找图书查找图书 for int i 0 i top i if book i getno bookid return NULL void bookdata 图书库维护图书库维护 void disp for int i 0 i top i if book i gettag 0 book i disp BDatabase 析构函数 将析构函数 将 book 写到写到 book txt 文件中文件中 fstream file book txt ios out for int i 0 i top i if book i gettag 0 file write char 29 file close void BDatabase bookdata char choice char bname 40 int bookid Book b while choice 0 cout n n n t t t 图图 书书 维维 护护 endl endl cout t t1 新新 增增 n t t2 更更 改改 n t t3 删删 除除 n t t4 查查 找找 n t t5 显显 示示 n t t6 全全 删删 n t t0 退退 出出 choice switch choice case 1 cout 输入图书编号输入图书编号 bookid cout 输入图书书名输入图书书名 bname addbook bookid bname break case 2 cout 输入图书编号输入图书编号 bookid b query bookid if b NULL cout 该图书不存在该图书不存在 endl break cout 输入新的书名输入新的书名 bname b setname bname break case 3 cout 读入图书编号读入图书编号 bookid b query b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 常用合同范本汇编及法律风险提示
- 湘菜餐厅承包经营权合同书6篇
- 2026届福建省福州市数学九上期末复习检测模拟试题含解析
- 2025年福建省莆田市外国语学校编外合同教师招聘备考考试题库附答案解析
- 2025河南省胸科医院招聘高层次人才备考考试题库附答案解析
- 2026中冶京诚校园招聘备考考试题库附答案解析
- 2025重庆市江津区第二人民医院招聘非编人员13人考试参考试题及答案解析
- 2026中国建设银行山西省分行秋季校园招聘430人备考考试题库附答案解析
- 2025重庆市两江公证处驻法院调解员招聘备考考试题库附答案解析
- 2026年度中国建设银行辽宁省分行校园招聘备考考试题库附答案解析
- (高清版)JTG 3810-2017 公路工程建设项目造价文件管理导则
- 货代销售技巧
- 热稳定校验(YJV铜缆)-李良胜
- 广东省深圳实验中学2023-2024学年高二上学期期中数学模拟试题
- DB11∕T 583-2022 扣件式和碗扣式钢管脚手架安全选用技术规程
- (高清版)DZT 0217-2020 石油天然气储量估算规范
- 食材配送服务质量保证方案
- 《缅甸概况》课件
- HG-T 20583-2020 钢制化工容器结构设计规范
- 危重患者抢救应急预案
- 《孕前和孕期保健》课件
评论
0/150
提交评论