




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象技术与面向对象技术与 C+ 课程设计报告课程设计报告 题目:图书馆管理系统题目:图书馆管理系统 院院 (系):(系): 计算机科学与工程学院计算机科学与工程学院 专专 业:业: 信息对抗专业信息对抗专业 班班 级:级: 130609 学学 生:生: 许明龙许明龙 学学 号:号: 130609116 指导教师:指导教师: 姜姜 虹虹 2014 年 7 月 1 摘要 随着计算机技术的飞速发展,电子信息化慢慢替代了企业管理的传统管理手法, 采用管理系统是能够有效提高管理效率的。图书馆作为一种信息资源的集散地, 图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书 馆都是初步开始使用,甚至尚未使用计算机进行信息管理。图书馆若采取手工 方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工 作量大,整体管理效率低下,也不方便读者对图书资料的查阅。为了提高日常 的图书管理效率,本文针对通常的图书管理流程,设计了一个面向对象图书管 理系统。本系统中包含六个功能模块:图书馆基本信息,借书,还书,读者维 护,图书维护,管理员维护。 summary With the rapid development of computer technology, electronic information technology gradually replaced the traditional management of enterprise management methods, management system, can effectively improve the efficiency of management. Library as a kind of information resource collection and distribution center, library and user lending data is various, contains a lot of information data management, today, there are a lot of libraries are preliminary started using, hasnt even use a computer for information management. If libraries adopt manual approach to artificial management books and materials and library, because the material is various, manual processing workload is big, the overall management efficiency is low, also not convenient to readers of books and materials inspection. In order to improve the efficiency of books management, this paper usually books management processes, an object-oriented books management system management system is designed. This system contains six modules: basic information, library books, and books, the reader maintenance, maintenance, administrators to maintain. 西安工业大学课程设计 共 30 页2 目 录 1 引 言 1 1.1 问题的提出 1 1.2 国内外研究的现状.1 1.3 任务与分析.1 2 程序的主要功能 2 2.1 添加功能.2 2.2 删除功能.2 2.3 删除全部职员信息 2 2.4 显示功能.2 2.5 查找功能.2 2.6 修改功能2 2.7 借书、还书.2 3 程序运行平台 3 4 总体设计 4 5 程序类的说明 5 6 模块分析 8 6.1 添加模块 8 6.2 显示模块 8 6.3 修改模块 8 6.4 查找模块 8 6.5 删除模块 8 6.6 清空模块 8 7 系统测试 9 8 结论 .10 参考文献 .11 西安工业大学课程设计 共 30 页3 1.1 课题背景意义课题背景意义 在学校现代化的管理中,图书馆管理系统也是其中非常重要的一部分,然 而,用大型软件系统来于小型的图书管理,不啻于“杀鸡用牛刀” ,因此小型的 的软件对于这种管理自然有十分重要作用。某图书馆需要管理其各种人员信息 和图书信息,希望实现办公的信息化,通过建立一个图书管理系统来管理图书 馆。 1.2 国内外研究的现状国内外研究的现状 国内在信息化这一方面做的没有国外好,因此现在需要大量这样的程序人员, 图书馆管理系统这一块也需要做大量改进。 西安工业大学课程设计 共 30 页4 1.5 任务与分析任务与分析 本课题主要的目的是 建立一个图书馆管理系统,可以处理以下对象: 图书馆基本信息 图书馆的书籍 图书馆管理员 读者信息 2. 程序的主要功能 1. 查询图书馆的总信息 2. 查询图书馆管理员的信息 3. 查询图书馆藏书信息 4. 存入新书 5. 存入新的管理员的信息 6. 修改管理员的信息(增加工龄,加薪) 7. 根据书名检索书刊信息 8. 查询读者的借阅信息 9. 查询读者信息 10. 图书和管理员等信息应存放在不同的文件中,便于查询。 流程图- 借书失败 输入读者姓名 书不存在 输入书号 验证 验证 借书成功 读者 输入姓名 验证 登陆 注册 西安工业大学课程设计 共 30 页5 2.1 添加功能添加功能 添加一个读者的基本信息,包括姓名、编号;添加一本书的基本信息,书 名、编号;添加一个图书管理员的基本信息,姓名、员工号、工资、工龄。 2.2 删除功能删除功能 能够对一个读者、图书管理员、一本书的信息进行删除按姓名进行删除。 2.3 删除全部成员信息删除全部成员信息 能够对于全部读者和员工的信息进行删除! 2.4 显示功能显示功能 显示所有读者、图书、员工的主要信息包括姓名或书名,编号等。 2.5 查找功能查找功能 根据你键入的编号,显示其详细信息! 2.6 修改功能修改功能 对读者、图书、员工的信息进行修改。 2.7 借书、还书借书、还书 输入读者编号和要借或要还的书处理并把信息存在读者信息内。 3 3 程序运行平台程序运行平台 VC+6.0。 具体操作如下:新建文件,创建 C+source file,写入程序再编译,链接, 执行等。 4 4 总体设计总体设计 西安工业大学课程设计 共 30 页6 图 4.1 系统总体框架图 5 程序类的说明程序类的说明 管理员信息输出类的声明管理员信息输出类的声明 class Librarian private: int tag; int no;/编号 char name10; int workage;/工龄 int salary; public: Librarian() char *getname()return name; int gettag()return tag; int getno()return no; void setname(char na) strcpy(name,na); void delworker()tag=1; void addlibrarian(int n,char *na)/增加管理员 tag=0; no=n; 主 函 数 借 书 信 息 还 书 信 息 读 者 维 护 空 信 息 图 书 维 护 管 理 员 维 护 退 出 西安工业大学课程设计 共 30 页7 strcpy(name,na); workage=0; salary=2000; void disp()/读出管理员信息 cout workerid; cout wname; addlibrarian (workerid,wname); break; int addlibrarian(int n,char *na)/添加管理员时先查找是否存在 Librarian *p=query(n); if (p=NULL) top+; worktop.addlibrarian(n,na); return 1; return 0; 6.26.2 显示模块显示模块 显示模块将输出所有成员的信息 。 如现实管理员的信息: Switch(choice) case 5: disp(); 西安工业大学课程设计 共 30 页10 break; break; void disp() /输出所有管理员信息 for (int i=0;i workerid; w=query(workerid); if (w=NULL) cout wname; w-setname(wname); break; 6.46.4 查找模块查找模块 首先由用户输入要查找的成员姓名,然后系统用查找函数查找,然后系统 就调用输出函数,输出所查找的成员资料。 如管理员: 西安工业大学课程设计 共 30 页11 case 4: cout workerid; w=query(workerid); if (w=NULL) cout disp(); break; 6.56.5 删除模块删除模块 首先由用户输入要删除的单个成员员姓名,然后调用删除函数,删除该名 职员的资料。 如管理员的删除: case 3: cout workerid; w=query(workerid); if (w=NULL) cout delworker(); break; 6.66.6 清空模块清空模块 系统将会把所有成员的资料全部删除,将链表清空。 西安工业大学课程设计 共 30 页12 如管理员: Switch(choice) case 6: clear(); break; void clear()/删除所有管理员信息 top=-1; 西安工业大学课程设计 共 30 页13 7 系统测试 首先进入 VC+6.0,打开文件:图书馆管理系统.cpp,然后进入源程序,接 着构建运行。 1.第一步出现如图 7.1 主界面供选择操作 图 1 2 选择界面上的 1 查看图书馆基本信息 图2 西安工业大学课程设计 共 30 页14 2.接着可以选择主界面上的 3 进行图书维护如图 7.2,下一步可以选择新 增图书等; 图 3 3选择 0 返回到主界面如图 1 可选择 4 进行读者维护然后进行新增、删 除、修改等操作如图 3 最后返回主界面进行下一步操作 图4 4.选择 5 进行管理员维护同上面相同如图 5 西安工业大学课程设计 共 30 页15 图 5 5.选 1 借书操作如图 6 然后可以查看读者的借书情况如图 7 图6 图 7 西安工业大学课程设计 共 30 页16 8 总结总结 本程序使用了 3 个类:图书类,读者类,管理员类。使用链表进行储存,查找 时按照节点顺序依次查照。根据输入的结果调用相应函数,图书馆的基本功能 大都能够实现。 9 9 结论结论 我的这个图书馆管理系统做的不是很好,有些基本功能能够实现,虽然有 借书、还书以及对读者、管理员、图书的维护,但是有很多细节操作没有体现 出来,所以需要进一步改正,如可以对读者增加派生类实现对学生、研究所、 老师等的区别,还有文件的保存也需要改进。 通过本次课程设计,让我对 C+有了进一步的了解和使用,能把学了的东 西用于实践还是让我非常有成就感,但是不足的是对类、派生类还有指针以及 文件的运用掌握的不是很好,所以我会在假期内通过多看书反复操作提高自己 的编程能力。在这里还要感谢诸位老师的支持和信赖。 附附 录录 附录 1 源代码清单 #include #include #include #include const int Maxr=100;/最多的读者 const int Maxb=100;/最多的图书 const int Maxbor=5;/每位读者最多借五本书 /管理员类 class Librarian private: int tag; int no;/编号 char name10; int workage;/工龄 西安工业大学课程设计 共 30 页17 int salary; public: Librarian() char *getname()return name; int gettag()return tag; int getno()return no; void setname(char na) strcpy(name,na); void delworker()tag=1; void addlibrarian(int n,char *na)/增加管理员 tag=0; no=n; strcpy(name,na); workage=0; salary=2000; void disp()/读出管理员信息 cout choice; switch (choice) case 1: cout workerid; cout wname; addlibrarian (workerid,wname); break; case 2: cout workerid; w=query(workerid); if (w=NULL) cout wname; w-setname(wname); break; case 3: cout workerid; w=query(workerid); if (w=NULL) cout delworker(); break; case 4: 西安工业大学课程设计 共 30 页20 cout workerid; w=query(workerid); if (w=NULL) cout disp(); break; case 5: disp(); break; case 6: clear(); break; default:cout choice; switch (choice) case 1: cout readerid; cout rname; addreader (readerid,rname); break; case 2: cout readerid; r=query(readerid); if (r=NULL) cout rname; r-setname(rname); 西安工业大学课程设计 共 30 页24 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 choice; switch (choice) case 1: cout bookid; cout bname; addbook(bookid,bname); break; case 2: cout bookid; b=query(bookid); if (b=NULL) cout bname; b-setname(bname); break; case 3: cout bookid; 西安工业大学课程设计 共 30 页28 b=que
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 造价咨询估算审核方案
- 市场导向的烘焙技术提升
- 中小企业税务风险防控案例分析
- 党建课程专业知识考试题及答案
- 肥皂制造工职业考核试卷及答案
- 担保业务成本效益比分析报告
- 绩效与激励结合分析报告
- 医院感染管理与预防培训材料
- 殡葬礼仪师特殊工艺考核试卷及答案
- 民诉法考试题库及答案
- T∕CEC 208-2019 电动汽车充电设施信息安全技术规范
- 《机器人控制方法》课件
- 全案托管设计合同范例
- 第四届全国冶金矿山行业职业技能竞赛(电气设备点检员赛项)理论参考试题库(含答案)
- 酒店保洁员培训
- 《社区治理研究的国内外文献综述》5200字
- 《中华人民共和国药品管理法实施条例》
- 庆祝国庆节爱国班会内容完整课件
- 中医拔罐技术试题及答案
- 城市地下管网建设项目风险评估报告
- 浙江水利专业高级工程师任职资格考试题及答案
评论
0/150
提交评论