欢迎来到天天文库
浏览记录
ID:3957626
大小:254.05 KB
页数:22页
时间:2017-11-26
《图书管理系统(c++)1》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、一、需求分析图书馆是目前生活中除了网络外的另一个获取知识的重要场所。利用图书管理系统对图书记录进行统一管理,包括新增图书记录,更改图书记录,删除图书记录等功能,实现图书管理工作的系统化,规范化和自动化,为图书管理提供便利。同时也为学生借阅和还还图书带来了方便,提高了效率。而且开发此程序并不需要很高的造价,因此有很高的可行性。二、系统主要功能系统主要功能:图书管理(添加编辑删除)、追加图书信息、补充修改相关信息、有良好的人机界面、支持多条件管理、查询、删除数据方便简单、数据稳定性好;添加删除功能:能根
2、据图书的变动情况,添加删除记录;查询功能:能根据编号和书名进行查询;编辑功能:根据查询对相应的记录进行修改,并存储;保存功能:能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保存和打开。系统主要目标:建立图书管理系统,采用计算机对学生图书进行管理,进一步提高办学效益和现代化水平;改善图书查询手段;提高工作效率,减轻劳动强度;提高信息处理速度和准确性;提高系统安全性、可靠性、可控性;具有较高的运行性;提供准确的查询信息;具有较强的可维护性;实现图书信息管理工作流程的系统化、规范化和自动化
3、。三、流程图主程序设计如图所示:四、数据结构设计这个系统用的数据类型有整型,字符型。主要是运用到类和对象,还有带参数的构造函数以及析构函数以及数组来实现本程序,并在主函数对各个功能模块就行调用。五、类设计Book类的设计:(1)数据成员charname[StrNum];用来存放书名。charnumber[StrNum];用来存放图书的编号。charkind[Type];用来存放图书的类型。inttag;定义删除标记。intnum;定义图书编号为整形。intadd;增加标记。(2)函数成员Book()
4、{}无参构造函数,用于为书名和作者姓名设置默认值。chargetkind()用于获取图书类型。chargetname()用于获取书名。intgetnum()用于获取图书编号。intgettag()用于获取删除标记。voidsetname(charna[])用于设置书名。voidsetkind(charkin[])用于设置类型。voiddelbook()用于删除图书。voidaddbook(intn,char*na,char*kin)用于增加图书。voiddisp()用于输出图书。六、主要算法设计cl
5、assBDatabase{}图书管理类的设置,实现对图书的添加,查找,删除等。classinttop;设置图书记录指针。Bookbook[Maxb];设置图书记录(Maxb定义为最多可存储的图书数,定义为整形)。BDatabase{private:inttop;//图书记录指针Bookbook[Maxb];//图书记录public:BDatabase()//构造函数,将book.txt读到book[]中{Bookb;top=-1;fstreamfile("book.txt",ios::in);whi
6、le(1){file.read((char*)&b,sizeof(b));if(!file)break;top++;book[top]=b;}file.close();}voidclear()清空图书记录。intaddbook(intn,char*na,char*kin)增加图书记录。Book*query(intbookid)查找图书记录。Book*query(intbookid)//查找图书{for(inti=0;i<=top;i++)if(book[i].getnum()==bookid&&bo
7、ok[i].gettag()==0){return&book[i];}returnNULL;}voidbookdata();定义图书库。voiddisp()输出。~BDatabase()设置析构函数,将book[]写到book.txt文件中voidBDatabase::bookdata()由此函数开始对图书管理系统的主菜单进行调用与功能的实现。(界面参看执行界面部分)最后用main()函数的实现,程序的主界面的引导七、主要代码#defineStrNum20#defineType20#include<
8、iostream>#include#include#include//输入/输出文件流类usingnamespacestd;constintMaxb=100;//最多可存储的图书classBook{private:inttag;//删除标记intnum;//图书编号intadd;//增加标记charnumber[StrNum];//编号charname[StrNum];//书名charkind[Type];//图书类
此文档下载收益归作者所有