图书馆管理系统代码_第1页
图书馆管理系统代码_第2页
图书馆管理系统代码_第3页
图书馆管理系统代码_第4页
图书馆管理系统代码_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include#defineDEBUG0/宏定义决定测试代码是否编译0为不编译非0则编译constcharbook_path20=books.txt;constcharreader_path20=readers.txt;/文件读写声明voidread_from_files_to_vector();voidwrite_all_to_files();#ifDEBUGvoidscan_readers()for(reader&s:readers)wcouts;#endifintmain()/完成操作后需要在控制台按5中退出才会保存到文件wcin.imbue(china);wcout.imbue(ch

2、ina);read_from_files_to_vector();#ifDEBUGcoutsizeofreaders=readers.size()endl;coutsizeofbooks=books.size()endl;scan_book();scan_readers();#endifstringpassword=123456;/密码已改cout欢迎使用中南大学网络在线图书系统endl;/这里可以添加你们小组的名单或一些装饰的字符cout请选择登录方式endl;cout1管理员登陆2读者登陆a;cleanScreen();if(a=1)stringstr;for(intj=0;j=4;j+)

3、cout请输入管理密码,你有(4-j)次机会str;if(password=str)break;elsecout密码错误!请重新输入endl;if(j=4)return0;cleanScreen();cout欢迎来到图书管理系统endl;cout成功登陆!你有以下操作可供选择endl;coutendl;/操作循环cout1浏览图书信息endl;cout2图书信息修改endl;cout3图书信息添加endl;cout4图书信息删除endl;cout5保存信息并退出系统endl;cout请选择操作选项编号b;cleanScreen();while(b!=5)switch(b)case1:scan_

4、book();break;case2:modify_book();break;case3:add_book();break;case4:delete_book();break;default:cout输入错误,请重新输入;break;coutendl;cout请进行下一次操作endl;cout1浏览图书信息endl;cout2图书信息修改endl;cout3图书信息添加endl;cout4图书信息删除endl;cout5退出系统endl;cout请选择操作选项编号b;cleanScreen();write_all_to_files();return0;elseif(a=2)intreaderI

5、ndex=0;/记录读者下标/输入学号登陆cout请输入学号endl;wchar_tstudentnumber20;for(intm=0;m=9;m+)cout请输入学号,你有(9-m)次机会studentnumber;intt;for(t=0;treaders.size();t+)if(wcscmp(studentnumber,readerst.cardnum)=0)readerIndex=t;break;/判断跳出循环原因if(treaders.size()break;elsecout登录账号不存在,请重新输入学号endl;continue;if(m=9)return0;cleanScre

6、en();cout欢迎来到读者自助系统endl;wcoutL欢迎你,readersreaderIL!你有以下操作可供选择endl;coutendl;/操作循环cout1图书浏览endl;cout2图书查询endl;cout3图书借阅endl;cout4图书返还endl;cout5退出系统endl;cout请选择操作选项c;cleanScreen();while(c!=5)switch(c)case1:scan_book();break;case2:search_book();break;case3:borrow_book(readerIndex);break;case4:re

7、turn_book(readerIndex);break;default:cout输入错误!请重新输入endl;break;coutendl;cout请进行下一次操作endl;cout1图书浏览endl;cout2图书查询endl;cout3图书借阅endl;cout4图书返还endl;cout5退出系统endl;cout请选择操作选项c;cleanScreen();write_all_to_files();return0;return0;/main函数结束/写入/读取文件voidwrite_all_to_files()wofstreamoutfile;outfile.imbue(locale

8、(chs);/写入书本文件outfile.open(book_path);outfilebooks.size()n;for(inti=0;ibooks.size();i+)outfilebooksi;outfile.close();outfile.clear();/写入读者文件,由于程序中没有针对读者的删改(备用,将0改为1后即可编译这段代码)#if0outfile.open(path:reader_path);outfilereaders.size()n;for(inti=0;ireaders.size();i+)outfilesize;while(!infile.eof()&size!=0

9、)infilebb;books.push_back(bb);size-;infile.close();infile.clear();/读取读者数据infile.open(reader_path);infilesize;while(!infile.eof()&size!=0)infilerr;readers.push_back(rr);size-;infile.close();return;#includeclasses.hlocalechina(chs);/usechinacharacter/*voidprintout_book(book&b)(coutb.idnb.titlenb.first

10、authornb.publishernb.birthdaynb.locationnb.pricenb.numberendl;*/这个函数我用重载运算符的函数代替了/对应全局变量的定义vectorbooks;vectorreaders;/book重载操作符函数定义wistream&operator(wistream&in,book&b)(cout请输入书号b.id;cout请输入书名b.title;cout请输入作者名b.firstauthor;cout请输入出版社b.publisher;cout”请输入印刷日期(年月)b.birthday;cout请输入所属类别b.location;cout请

11、输入价格b.price;cout请输入数量b.number;returnin;)wostream&operator(wostream&out,book&b)(outb.idb.titleb.firstauthorb.publisherb.birthday.yearb.birthday.monthb.locationb.priceb.number(wifstream&in,book&b)(inb.idb.titleb.firstauthorb.publisherb.birthday.yearb.birthday.monthb.locationb.priceb.number;returnin;)w

12、ofstream&operator(wofstream&out,book&b)(outb.idb.titleb.firstauthorb.publisherb.birthdayb.locationb.priceb.number(wistream&in,reader&r)(/由于没有对reader的操作,这个函数尚未被使用cout请输入读者姓名;cout请输入性别(男为0,女为1)r.s;cout请输入卡号r.cardnum;cout请输入学位(学士为0,硕士为1,博士为2)r.e;r.already=0;已借书本数默认为0returnin;)wostream&operator(wo

13、stream&out,reader&r)(outr.cardnum;;outr.s;outr.e;outr.already(wifstream&in,reader&r)(r.sr.er.already;returnin;)wofstream&operator(wofstream&out,reader&r)(r.sr.er.alreadyn;returnout;)/main函数中调用定义voidscan_book()/建立浏览函数(for(inti=0;ibooks.size();i+)(wcoutbooks

14、i;)voidsearch_book()/建立搜索函数(intg;cout你有以下查询方式可供选择cout你有以下查询方式可供选择*endl;cout1cout1按书名查询endl;cout2按编号查询endl;cout3按作者查询endl;cout请选择查询方式CCcout请选择查询方式CC11g;cing;switch(g)case1:wchar_tname20;cout请输入书名CCCcout请输入书名CCC11name;for(intr=0;rwcinname;for(intr=0;rbooks.size();r+)if(wcscmp(booksr.title,name)=0)wcou

15、tbooksr;return;cout查无此书endl;return;break;intstr;cout*请输入图书编号*str;for(intl=0;lbooks.size();l+)if(booksl.id=str)wcoutbooksl;return;cout查无此书endl;return;break;wchar_tauth10;cout请输入图书作者auth;for(intp=0;pwchar_tauth10;cout请输入图书作者auth;for(intp=0;pbooks.size();p+)if(wcscmp(booksp.firstauthor,auth)=0)wcoutboo

16、ksp;return;cout查无此书endl;return;break;default:cout查无此书=5)cout抱歉,你的借书数已满,不可再借endl;return;intlog;cout*请输入要借出图书的登陆号CC11log;for(inti=0;i0)inty;cout确认借出书籍吗?确认请输入1取消请输入0y;if(y=1)cout借阅成功!;-(booksi.number);+(readerst.already);return;elsereturn;elsecout图书已借完endl;return;cout图书不存在!endl;return;voidreturn_book(i

17、ntt)/建立还书函数intlog;cout*请输入要归还的图书的登陆号*log;for(inti=0;ibooks.size();i+)if(log=booksi.id)cout图书归还成功endl;+booksi.number;-readerst.already;return;cout图书不存在于本图书馆无需归还!endl;return;voidmodify_book()/建立修改函数intlog;cout*请输入要修改的图书编号*log;for(inti=0;ibooks.size();i+)if(log=booksi.id)cout需修改图书信息如下endl;wcoutbooksi;cout*请输入修改后的信息*booksi;return;cout图书不存在无法修改endl;return;voiddelete_book()intlog;cout*cout*请输入要删除的图书编号log;/迭代器实现删除指定图书vector:iteratoritor2;for(vector:iteratoriter=books.begin();iter!=books.end();)if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论