- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c课设实验报告图书借阅管理系统
Visual C++课程设计题目名称:图书借阅室管理软件班级:计算1301姓名:学号:指导教师:完成时间:2015.1.16题目描述基于MFC设计并实现一个基于单文档的图书借阅室的管理软件,要求进行类的设计,使用文件存储数据,要求用户界面合理、方便、友好。功能分析系统主要功能包括:1)图书基本信息和会员读者基本信息的管理图书基本信息:书号、书名、作者,单价、数量和简介。会员读者基本信息:会员编号、姓名、性别、单位、电话。系统可以完成对上述基本信息的添加、修改、删除、浏览。2)图书借阅管理可以完成读者借书、还书的操作,还可以由系统发出对某个读者所借的过期图书的催缴信息。相关信息有:会员编号 书号 借阅时间 应归还时间 有无过期等。3)图书信息查询可以按照分类、作者、书名等进行精确查询和模糊查询。可以自己根据需要合理设计。4)系统登录功能进入系统,需要登录。可以注册用户,有完整的用户注册、用户登录和密码修改功能。系统设计程序总体结构系统中的存储数据的俩个主要类在本系统中,主要有俩个类用来存储主要处理的数据:一个是图书类,一个是人员类。图书类用于存储图书的基本信息,包括图书的编号,书名,作者,单价,剩余数量等;人员类用于存储会员的基本信息,包括会员的姓名,性别,手机号,单位,及借阅的图书信息。系统初始化图书资料会员资料操作处理存储图1图书人员类对图书及会员的操作用户可以对图书和会员进行各种操作,主要包括对新图书的添加,旧图书的删除和修改,对新会员的添加,对老会员的删除和信息修改。其中还可以对图书进行借阅和归还。借阅与归还操作将同时改变人员类图书类的数据内容。搜索图书图2 图书会员操作主要功能模块设计图书人员类设计上面提到了用图书人员类进行主要数据的存储,图书类中的数据类型均为CString类型,(其目的是方便与子对话框进行数据交换)存储着图书的基本信息。程序运行时在主对话框初始化函数中new出相应的图书类对象数组,读取文件中的图书数据,以便以后的操作对数据进行读取修改。人员类同理。功能响应函数的设计对于所有基本操作(添加,删除,修改图书与会员,借阅,归还图书等)的入口均在菜单栏设计了按钮(搜索功能设计在视图区,入口为一个按钮控件),其对应的响应函数都设计在视图区的cpp文件里(其目的是方便读取数据)。函数如下:void OnPasswdchange();//改变管理员登录密码void On32776();//修改会员信息(按钮ID忘改了)void OnAddboo();//添加图书void OnDeletbook();//删除图书void OnChangeb();//修改图书信息void OnLentbook();//借阅图书void OnBackbook();//归还图书void OnBnClickedButtonsearcher()//搜索功能;void OnAddvip();//添加会员void OnDeletevip();//删除会员主要数据结构程序主要的数据结构是俩个类,图书类CBook和人员类CPerson的对象数组,用于存储程序所需的主要数据。每添加一个图书或会员相应数组增加一组数据,删除则减少,修改则更改相应下表对应的响应数据。其中视图类的头文件里定义了俩个整型的成员变量,用来分别记录俩个数组的长度。而管理员登录密码则简单的存在一个CString对象中。图书信息与会员信息的存取(1)文件存储格式文件的存储格式主要有文本格式和二进制格式。文本格式的一个显著优点是可以用文本编辑软件(如记事本)打开文件进行观察和读取。与文本格式不同,二进制格式不能简单的将文件打开编辑。但二进制文件读取速度快。(2)文件流fstreamC++提供了一个文件读取写入库,文件流类库fstream。通过定义fstream类对象,并利用其成员函数进行文件的打开,读取写入,关闭。本程序便是利用这个库对数据进行文件上的写入读取。程序打开,在主对话框初始化函数中利用以下代码分别打开“vipdata”和“bookdata”俩个文件将数据读入到相应的对象数组中:fuser.open(vipdata, ios::_Nocreate | ios::in);if (fuser.fail())//结合打开方式,如果不存在该文件进入if{fuser.open(vipdata, ios::_Noreplace | ios::out); //创建该文件,并写入基本信息fuser 0 \n;fuser.close();}elsefuser.close();fuser.open(vipdata, ios::_Nocreate | ios::in);fuser.getline(data, 256);m_vipdx = atoi(data);m_nowuser = new
文档评论(0)