1、constintMaxb=100;/最多的图书constintMaxbor=5;/每位读者最多借五本书/读者类,实现对读者的信息的描述classReaderprivate:inttag;/删除标记1:已删0:未删intno;/读者编号charname10;/读者姓名intborbookMaxbor;/所借图书public:Reader()char*getname()returnname;/获取姓名intgettag()returntag;/获取删除标记intgetno()returnno;/获取读者编号voidsetname(charna)/设置姓名strcpy(name,na);voidde
2、lbook()tag=1;/设置删除标记1:voidaddreader(intn,char*na)/增加读者tag=0;no=n;for(inti=0;iMaxbor;i+)borbooki=0;voidborrowbook(intbookid)/借书操作if(borbooki=0)borbooki=bookid;return;intretbook(intbookid)/还书操作if(borbooki=bookid)return1;return0;voiddisp()/读出读者信息coutsetw(5)nosetw(10)name借书编号:;if(borbooki!=0)borbookicho
3、ice;switch(choice)case1输入读者编号:readerid;输入读者姓名:rname;addreader(readerid,rname);break;2r=query(readerid);if(r=NULL)该读者不存在输入新的姓名:r-setname(rname);3delbook();4读入读者编号:disp();56clear();default:输入错误,请从新输入:/图书类,实现对图书的描述,图书的编号,书名,借出,还入等classBook/图书编号charname20;/书名intonshelf;/是否再架1:再架2:已借Book()/获取图书编号voidsetn
4、ame(charna)/设置书名/删除图书voidaddbook(intn,char*na)/增加图书onshelf=1;intborrowbook()/借书操作if(onshelf=1)onshelf=0;voidretbook()/还书操作voiddisp()/输出图书setw(6)setw(18)setw(10)(onshelf=1?在架已借)/图书库类,实现对图书的维护,查找,删除等classBDatabase/图书记录指针BookbookMaxb;/图书记录BDatabase()/构造函数,将book.txt读到book中Bookb;book.txtb,sizeof(b);bookt
5、op=b;voidclear()/全删intaddbook(intn,char*na)/增加图书Book*p=query(n);if(NULL=p)booktop.addbook(n,na);Book*query(intbookid)/查找图书if(booki.getno()=bookid&booki.gettag()=0)booki;voidbookdata();/图书库维护voiddisp()if(booki.gettag()=0)booki.disp();BDatabase()/析构函数,将book写到book.txt文件中booki,sizeof(booki);voidBDatabas
6、e:bookdata()charbname40;intbookid;Book*b;nnnttt图书维护endlsetname(bname);读入图书编号:输入错误,请从新输入:/main()函数的实现,程序的主界面的引导voidmain()intbookid,readerid;RDatabaseReaderDB;BDatabaseBookDB;ttt图书管理系统nnnttt1借书nnttt2还书nnttt3图书维护nnttt4读者维护nnttt0离开借书读者编号:图书编号:r=ReaderDB.query(readerid);/按编号查找if(NULL=r)不存在该读者,不能借书b=BookD
7、B.query(bookid);不存在该图书,不能借书if(b-borrowbook()=0)该图书已借出,不能借书borrowbook(b-getno();还书n读者编号:图书编号:不存在该读者,不能还书不存在该图书,不能还书retbook();retbook(b-BookDB.bookdata();ReaderDB.readerdata();五、 运行效果1界面2借书3还书4图书维护5读者维护六、 存在不足即预期解决方法1查找到图书后,无法显示是否已借出。解决方法:通过编程,显示所查找图书状态。若借出,显示归还日期;若没借出,显示图书放置地址。2无法显示图书的具体信息在选择图书维护中的显示后,显示该图书的作者等信息。七、 心得体会VisualC+是一门十分深奥的的课程。对于编译人员,VisualC+是一种非常有用的工具。在学习VC+的过程中,不能光看书,实际的操作才是最有用的。学习时,不妨边学边做一些题目,通过不断的编译、修改,更好的运用VC+。八、 参考文献VisualC+应用教程VC驿站
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1