图书管理系统(共26页).doc
《图书管理系统(共26页).doc》由会员分享,可在线阅读,更多相关《图书管理系统(共26页).doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上组长:何关瑶 学号 组员:汪 芳 李玉珏 马文磊 雷盛华第一章 需求分析1.1设计内容利用c+的文件操作能力设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息 、删除图书信息 以及通过学生学号实现图书借阅功能。操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。1.2 设计任务要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识; 提高学生用高级语言进行程序设计的能力,重点提高用C+进行文件操作和绘图应用的编程技术水平;初步了解软件开发
2、的一般方法和步骤; 提高撰写技术文档的能力。掌握模块化编程的基本方法与步骤;巩固和加深学生对C+课程基本知识的理解与掌握,培养学生利用C+进行软件操作的能力和技巧。1.3 基本要求(1)通过提示菜单选择可以进行的操作。(2)将图书的信息存入文件中,并命名为BookInfo.txt。(3)将图书借阅情况信息存入文件中,并命名为SendInfo.txt。(4)在本系统中可以进行管理系统包含的基本操作,其中包括:a)查看所有图书的信息。b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显示该图书的相关信息,如果没有找到则给出提示信息。c)添加一本图书的基本信息,通过输入图书编号,首先查找是
3、否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置。d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则将该图书删除,否则给出提示信息,提示该图书不存在。 e)借阅一本图书,需要给出学号和图书编号,如果图书编号不存在则重新输入,直到输入正确为止,并将学号和相应的图书编号存入SendInfo.txt文件中。(5)图书基本信息包括图书编号、书名、作者、出版社和价钱这些简单信息。(6)图书信息文件中每一行存放一本图书的信息。(7)借阅信息文件中每一行存放一本书的借阅情况。(8)对老师.学生的信息进行登记处理,包括姓名、学号教师编号
4、、学院班级等。(9)对图书的金额进出管理,对一丢失的图书进行处罚、对超期归还的图书进行赔偿金额计算。第二章 系统功能设计2.1系统功能图书馆信息管理系统读者信息图书管理系统老师信息管理系统学生信息管理系统查找所有图书信息查找一本图书信息添加一本图书信息删除图书信息借阅图书信息图书丢失金额赔偿图1 系统功能图图书管理在生活中运用非常广泛,因此需要用许多的程序来对它们进行管理。此程序包含了图书信息的录入、图书信息的浏览、图书的查询和排序、图书信息的删除与修改,借书,还书,统计等。通过编译一个C+函数,其中包含一个主函数,多个子函数,主函数调用其余的子函数实现人们能够简易、快捷的了解并找到自己所学要
5、的信息的功能。1、查询所有图书信息:将所有图书信息包括编号、书名、出版社、作者、价格等显示在屏幕上。2、查找一本图书的信息:通过输入图书编号完成图书信息的查找,并在屏幕上显示。3、修改图书信息:通过输入编号,判断此图书是否存在,若不存在则提示用户重新输入图书编号。 4、删除图书信息:通过输入编号,判断此图书是否存在,若存在, 则提示用户是否显示删除后的信息,若不存在则提示用户重新输入图书编号。5、借书:通过输入图书编号,判断此图书是否存在,若不存在则提示用户重新输入图书编号,若图书已借出则提示用户是否继续借书,若没借出则将此图书的编号和学生的学号存入图书借阅文件中。6、图书丢失:若图书丢失,对
6、已丢失图书进行删除处理,并通过金额赔偿系统进行图书的金额赔偿管理。7、金额赔偿:通过输入一丢失图书的编号对以丢失的图书的金额进行显示在屏幕上。8、老师信息:通过选择读者信息中的老师信息可以对老师的信息进行添加.删除和修改。最后通过输入老师的编号可以对老师的信息进行查询。9、学生信息:通过选者读者信息中的学生信息可以对学生的信息进行添加,删除和下该。最后通过输入学生的学号可以对学生的信息进行查询。10、退出系统:返回主页面。2.2 各个模块之间的主要关系图书信息管理系统可划分为7个模块:查询所有图书模块、查找一本图书信息模块、修改图书信息模块、删除图书信息模块、借阅图书模块、图书丢失模块、金额赔
7、偿模块。各模块之间均有着或多或少的联系,比如: 查找一本图书信息模块、修改信息模块、删除信息模块、借阅图书模块都需要先判断该图书是否存在,然后再进行其它操作。图书丢失后对已丢失图书的信息进行删除,删除后显示出图书的价格病进行金额赔偿。理解了各模块之间的主要关系有利于程序的设计与完成,使程序的层次结构清晰,便于程序的编写、阅读和调试。第三章 详细设计3.1系统的总体流程图2 系统流程图系统的整体流程如上图所示,开始后显示输出菜单选择进入读者信息模块或者图书管理模块,读者信息中是对教师和学生的信息进行编辑如信息的添加、删除和修改。主要是针对如果图书丢失或者超期归还时计算赔偿金额用的。教师的归还图书
8、期限为60天,学生为30天。图书管理模块式针对图书进行管理,如显示出全部图书.即显示出未被借出的图书、添加一本图书信息、删除一本图书信息、显示一本图书信息产看一本图书是否被借、借阅图书功能、图书丢失功能、查看图书的价格对图书进行赔偿、金额管理管理计算出丢失图书的赔偿金额和超期归还图书的金额。主要根据当前系统时间模块进行计算。3.2 main() 函数模块根据图书馆信息管理系统的要求,可设计一个主函数,及定义多个用户自定义函数。在主函数中定义全局变量,即是在函数外部定义的变量,其不属于某一个函数,而属于一个源程序文件,在整个程序内可以多次被引用。通过将switch语句与break语句联合使用来实
9、现多分支选择结构程序的设计。运用fscanf语句在主函数中将文件中的内容赋给结构体变量,便于在自定义函数中对结构体的调用。具体如下: 在主函数中定义一个存放图书信息的结构体struct listchar num20 ; /*图书编号*/ char name40 ; /*书名*/char author40 ; /*作者*/char publish 40; /*出版社*/ouble price;/*价格*/;以及各函数的申明void search_allinformation(struct list b) ; /*查看全部图书信息*/void check_bookinformation (stru
10、ct list b );/*查找图书信息*/void add_bookinformation (struct list b ); /*添加图书信息*/double delete_bookinformation (struct list b );/*删除图书信息*/void borrow_book (struct list b ) ; /*借阅图书*/void lost_book(struct list b); /*图书丢失*/double cash_manage(); /*金额赔偿*/ 通过将switch语句与break语句联合使用来实现多分支选择结构程序的设计。 switch (choice
11、1) case 1 : search_allinformation (b); break ; case 2 : check_bookinformation( b ); break ;case 3 : add_bookinformation (b ); break ; case 4 : delete_bookinformation( b); break ; case 5 : borrow_book( b); break ; case 6 : lost_book( b);break ; case 7 : cash_manage();break ; case 0 : break ;3.3 查询所有图
12、书信息函数模块void search_allinformation (struct list b)通过printf()语句将所有的图书信息包括包括编号、书名、出版社、作者、价格等信息显示在屏幕上。运用for语句加printf()实现图书信息的循环输出显示。3.4 查询一本图书信息函数模块void check_bookinformation(struct list b )用户先输入图书编号后,先用strcmp(s1, s2)函数进行比较两个字符串数组的大小,从而查找出该图书是否存在,若不存在则提示用户是否要继续查找,运用switch语句 ,若继续则再次调用函数本身进行第二次查找,直到找到为止,若
13、否则结束循环,不再进行查找。 通过将switch语句与break语句联合使用来实现多分支选择结构程序的设计。运用fscanf语句在主函数中将文件中的内容赋给结构体。图3 查询一本图书函数功能模块图3.5添加图书信息函数模块void add_bookinformation(struct list b )输入图书的基本信息包括编号、书名、出版社、作者、价格,由于原有的图书信息是按照编号的大小顺序排列的,所以只需运用for循环 和strcmp函数找出输入的图书应该插入的位置,再将所添加的图书信息插入即可。图4 添加图书信息函数功能模块图3.6 删除图书信息函数模块void delete_bookin
14、formation (struct list b )用户输入所要删除的图书编号,先查找该图书编号是否存在,若存在,这提示用户是否要显示删除后的信息,若不存在则提示重新输入。 图5 删除图书信息函数功能模块图3.7借阅图书模块void borrow_book(struct list b )用户先输入所借图书的编号,调用函数查找该图书有没有借出,若已借出,则提示用户该图书已借出,并提示用户是否继续借阅其他书籍。若继续,则继续进行新的查找。图6 借阅图书函数功能模块图3.8 图书丢失模块用户先输入以丢失图书的编号,调用函数删除图书的相关信息,并显示出图书的金额。3.9 金额赔偿模块用户对以丢失的图书
15、进行赔偿。对以超期归还的图书用当前系统统时间系统进行计算正确的罚款数额。3.10 老师学生信息管理系统 对老师和学生的信息进行储存,其中有添加,删除和修改功能。第四章 调试及测试4.1 主菜单运行界面 运行程序可进入系统菜单栏,可选择如图功能进行下一步的操作。图7 主菜单运行界面图4.2 查询所有图书信息模块运行界面按1操作查询所有未被借出的图书信息,如图所示,选择下一步操作可对图书进行下一步操作。 图8 查询所有图书信息模块界面4.3 查找某一本图书信息模块运行界面按2选择按书名查询某一本图书信息,若图书编号存在则界面如下:图9 图书编号查询图书界面若图书不存在这显示该图书不存在。4.4 添
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 26
限制150内