软件工程C++大型实验报告图书馆管理系统实验报告.doc
《软件工程C++大型实验报告图书馆管理系统实验报告.doc》由会员分享,可在线阅读,更多相关《软件工程C++大型实验报告图书馆管理系统实验报告.doc(61页珍藏版)》请在三一办公上搜索。
1、图书管理系统 C+大型实验报告 软工0901 200926630124 * 软工0901 200926630117 * 软工0901 200926630118 *1 需求分析1.1 任务概述:用类方法实现简单的图书管理系统。1.1.1 目标:对图书信息进行图书入库、借阅登记、借阅查询、过期提示,用户授权这些日常业务的需要。高效性通过系统的实用,能够改变旧的图书管理模式,使对图书的管理、借阅、查询更加方便有效。1.1.2 运行环境:Windows 98/2000/XP/2003操作系统下,无须任何软件支持。1.2 数据需求:1.2.1 数据流条目:登录用户=ID号+姓名用户=用户ID号+姓名图书
2、=图书ID+书目编号+书名+作者+出版社+ISBN+总数量+剩下数量借阅=用户帐号+图书编号+数量借阅信息=用户帐号+图书编号+数量1.2.2 数据库描述使用txt文件形式对图书及读者信息进行保存,这样使得存储信息的容量比较小,管理和移动简单,不需要专用数据库系统的支持。1.3 功能需求1.3.1 功能划分简单图书管理系统只包含的一些基本的功能,对图书管理的大致流程进行演示。其功能模块包括:读者模块,工作人员模块,管理人员模块等三个部分。1.3.2 功能描述读者模块实现的功能是图书的查询,读者信息的查询。工作人员模块包括图书的查询,读者的查询,借书,还书等四大功能。管理人员模块实现的是图书的查
3、询,维护图书信息,维护读者信息维护人员信息(包括下级管理员。整个系统的流程图如下:查看读者信息四、实现图书管理系统的流程图注销开始输入选项读者工作人员管理人员是否成功登陆输入账号密码输入账号密码输入账号密码输入选项修改读者信息查询图书信息注销输入选项查看读者信息借书还书查询图书信息注销输入选项维护图书信息维护读者信息维护人员信息查询图书信息是否成功登陆是否成功登陆.保存并退出输入选项添加图书信息编辑图书信息删除图书信息输入选项维护图书信息返回上层添加读者信息编辑读者信息删除读者信息输入选项维护读者信息返回上层添加读者信息添加读者信息添加读者信息维护人员信息返回上层2 概要设计1) 本系统采用链
4、表结构来储存输入读取数据;2) 通过对建立一个数据库(DBFile)类来实现数据的读取的操作。相关代码如下:void DBFile:in_Reader() /打开reader.txtifstream fin(Reader.txt);if(!fin)cout打开读者数据文件失败!a;)Readerlist.push_back(a);void DBFile:in_Book() /打开book.txtifstream fin(Book.txt);if(!fin)cout打开图书数据文件失败!a;)Booklist.push_back(a);void DBFile:in_Worker() /打开wor
5、ker.txtifstream fin(Worker.txt);if(!fin)cout打开工作人员数据文件失败!a;)Workerlist.push_back(a);void DBFile:in_Manager() /打开manager.txtifstream fin(Manager.txt);if(!fin)cout打开管理员数据文件失败!a;)Managerlist.push_back(a);void DBFile:out_Reader() /保存readerofstream fout(Reader.txt);copy(Readerlist.begin(), Readerlist.end
6、(), ostream_iterator(fout,n);void DBFile:out_Book() /保存bookofstream fout(Book.txt);copy(Booklist.begin(), Booklist.end(), ostream_iterator(fout,n);void DBFile:out_Worker() /保存workerofstream fout(Worker.txt);copy(Workerlist.begin(), Workerlist.end(), ostream_iterator(fout,n);void DBFile:out_Manager()
7、 /保存managerofstream fout(Manager.txt);copy(Managerlist.begin(), Managerlist.end(), ostream_iterator(fout,n);通过创建一个图书类(Book),来实现有关图书的相关功能源代码:private: /类的参数列表int id;string name;string author;string press;int tag; /借出标记1:可借0:不可借int readid; /借阅者IDBook:Book(int iid, string iname, string iauthor, string i
8、press) /Book类的构造函数id = iid;name = iname;author = iauthor;press = ipress;tag = 1;readid = -1;ostream& operator(ostream& out, const Book &a) / 对操作符的重载return outa.id a.name a.author a.press a.tag a.readid(istream& in, Book &a) / 对操作符的重载return ina.ida.namea.authora.pressa.taga.readid;3 具体各模块代码和功能实现3.1 读
9、者模块功能3.1.1 读者信息查询按照提示输入注册ID、注册名等内容,若填写信息不正确,则会提示“密码错误!”。如果信息正确,则会提示“登陆成功!”。 选择查看个人信息会出现读者个人信息选择修改个人信息可以修改个人信息选择查找图书可以查找图书读者类的参数列表:用户名id,姓名name,密码password,借的图书号bookid数组添加读者功能代码实现:void DBFile:Rmenu() /读者菜单coutendlstring(18,=)endl;cout请选择功能:endl;cout1.查看个人信息endl;cout2.修改个人信息endl;cout3.查找馆藏图书信息endl;cout
10、4.返回上级菜单endl;coutstring(18,=)endl;coutchoice) cin.clear( ); cin.ignore( 200,n); coutdisplayreader();break;case 2:ptr_reader-setreader();break;case 3:ptr_reader-displaybook(Booklist);break;default:coutchoice) cin.clear( ); cin.ignore( 200,n); cout输入错误,请从新输入:;cin.clear( ); cin.ignore( 200,n);void Read
11、er:displayreader() /查看个人信息coutid name 借书编号:; for(int i=0;i10;i+) if(borbooki!=0) cout borbooki , ; cout endl; void Reader:setreader() /修改个人信息string newname;string newpassword;coutnewname;cin.clear( ); cin.ignore(200,n);name=newname;coutnewpassword;cin.clear( ); cin.ignore(200,n);password=newpassword
12、;cout设置成功!你的新名字是:name 密码是:passwordendl;void People:displayallbook(list &Blist) /查询图书list:iterator iter;cout所有图书:endl;for(iter = Blist.begin(); iter != Blist.end(); iter+)coutid name tag)?可借:不可借) author pressendl;3.2 工作人员模块功能界面如下: 选择要登录的身份,输入ID,姓名,密码 ,正确就会登陆成功选择借书功能,再输入读者ID和书的ID就可以借,当输入书的ID为-1是结束借书;如
13、果书已被借走或书ID不存在时,书不能被借阅选择还书功能,输入书ID就会还书成功选择查找图书功能,可以查找图书选择返回上级菜单就会返回到上级菜单工作人员类的参数列表:用户名id,姓名name,密码password程序代码:void DBFile:Rmenu() /工作人员菜单coutendlstring(18,=)endl;cout请选择功能:endl;cout1.查看个人信息endl;cout2.修改个人信息endl;cout3.查找馆藏图书信息endl;cout4.返回上级菜单endl;coutstring(18,=)endl;coutchoice) cin.clear( ); cin.ig
14、nore( 200,n); coutsearchreader(Readerlist);break;case 2:ptr_worker-borrowbook(Readerlist,Booklist);break;case 3:ptr_worker-retbook(Booklist,Readerlist);break;case 4:ptr_worker-displaybook(Booklist);break;default:coutchoice) cin.clear( ); cin.ignore( 200,n); cout输入错误,请从新输入:;cin.clear( ); cin.ignore(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 C+ 大型 实验 报告 图书馆 管理 系统

链接地址:https://www.31ppt.com/p-2385597.html