2022年c++图书管理系统课程设计 .pdf
《2022年c++图书管理系统课程设计 .pdf》由会员分享,可在线阅读,更多相关《2022年c++图书管理系统课程设计 .pdf(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、湖南科技大学图书馆信息管理系统学生院系:数学与计算科学学院学生班级: 12级信计 3 班学生学号: xxxxxxxx 学生姓名: xxxxx 指导教师:李建湘老师制作日期: 13年 12 月 09 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 31 页 - - - - - - - - - 第 1 页目录一、前言 .2 二、需求分析 .2 三、模块功能简介 .3 四、各模块的设计思想 .4 五、详细设计 .5 1、登陆界面的实现 .52、信息登记的实现 .83、信息的输
2、出实现 .124、信息查询的实现 .175、信息清除的实现 .246、退出系统的实现 .247、图片背景的添加 .25六、测试分析 .27 七、心得体会 .27 致谢.28 参考文献 .28 附录( 主要源程序的头文件 ).29 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 31 页 - - - - - - - - - 第 2 页湖南科技大学图书馆信息管理系统(湖南科技大学中国 湘潭1207020330)摘要本次课程设计任务是通过编写一个图书馆信息管理系统,学习用 Vi
3、sual C+ 6.0 开发简单的管理系统。采用Visual C+ 6.0软件为主要开发工具。本系统主要完成对图书馆借阅情况和图书馆书籍归还情况的管理,包括借阅信息的登记、查询、界面的清除以及归还信息的登记、查询、界面的清除等。系统还可以完成对图书资料读者资料的浏览等功能。由于我们还没有学习数据库,所以在有关大量借阅信息存储时,此系统显得心有余而力不足。系统的核心是引用I/O 流和文本处理来存储和调用图书馆的借阅归还信息,每一个动作都可能影响到其它的功能,还有数据的改变,当完成对数据的操作时系统会自动地完成数据库的修改。关键字 :VC+6.0; 图书馆信息管理系统 ; 模块化设计 ;i/O流;
4、一、 前言使用计算机管理图书馆信息, 不但可以大量节省时间、人力、财力、物力,而且能更全面有效地掌握图书馆的基本情况,及时获取最新而又准确的资料和信息。此课程设计就是这样一个管理图书馆借阅归还信息的系统,其功能与实现方面有比较好的针对性和实用性。软件是在Visual c+平台上开发的 , 采用 i/o流文本存储数据和信息, 作为虚拟的数据库。 利用 i/o流文本操作语言, 能比较方便地实现对借阅归还信息的操作与管理。二、 需求分析Visual C+6.0 的 MFC 提供了大量的类库函数强大支持。开发一个图书馆信息管理系统, 可以实现借阅归还信息的管理。并提供新信息录入, 现有借阅查询归还查询
5、功能 , 对记录的输出等工作。图书馆管理系统是典型的信息管理系统(MIS), 其开发主要包括后台数据信息的建立和保存以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备, 易使用等特点。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 31 页 - - - - - - - - - 第 3 页三、模块功能简介第一次做这种比较大型的软件,不足之处在所难免, 但以后一定会不断改进, 以下为系统主要功能流程,如图
6、(0)所示。图(0)图(0)运行系统输入用户名和密码图书馆信息管理系统登记查询清除退出归还登记借阅查询归还查询清除界面确定退出借阅登记信息归还信息借阅信息名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 31 页 - - - - - - - - - 第 4 页四、各模块的设计思想整个系统,采用文件存储信息,采用fwrite() 余 fread()函数实现信息的整块写入与读出;编写xieruN()与 duquN()函数用来记录信息的个数和读出信息的个数方便几个模块的实现模块模
7、块的设计简介登陆系统界面输入用户名和密码,采用if 语句判断,正确进入系统,错误则提示错误信息并重新输入密码,3 次错误系统自动退出。读者借阅登记调用一个对话框输入借阅信息,并调用FileException 类用以实现信息的储存。读者归还登记调用一个对话框输入归还信息,并调用FileException 类用以实现信息的储存。读者借阅信息创建一个文件流对象,从文件读入借阅信息,将借阅信息输出,最后关闭文件。读者归还信息创建一个文件流对象,从文件读入归还信息,将归还信息输出,最后关闭文件。读者借阅查询调用一个对话框输入学号,利用查询函数搜索储存文本的每一行,并比较所输入的学号与每一行“,”前的内容
8、是否一致,若一致,则选择输出。读者归还查询调用一个对话框输入学号,利用查询函数搜索储存文本的每一行,并比较所输入的学号与每一行“,”名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 31 页 - - - - - - - - - 第 5 页前的内容是否一致,若一致,则选择输出。清除界面调用函数 Invalidate()刷新主界面已达到清除界面的作用退出系统调出退出系统对话框理论支撑: C、C+程序设计语言、 VC 6.0 软件五、详细设计1、登陆界面的实现运行系统就有个用户名
9、和密码输入窗口要求输入用户名和密码,相当于系统的门户正确输入才能进入系统,有三次输入机会。打开软件就弹出如图( 1)的窗口要求输入密码和用户名。初始用户名为zcx 初始密码为 zcx( 赵彩霞的首字母小写 ) 。图(1)用户名和密码正确则进入系统,弹出消息盒子如图(2)窗口。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 31 页 - - - - - - - - - 第 6 页图(2)密码错误则弹出如图( 3)对话框,要求重新输入,点击确定进行再次的输入。图(3)连续输入
10、错误三次,系统则弹出如图(4)对话框自动退出图(4)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 31 页 - - - - - - - - - 第 7 页点击确定退出系统。如登录成功则进入系统如图(5) 。图(5)登录界面的类为 C HNKJDXTSG ,具体实现为: 在12信计0330赵彩霞 View.cpp 中调用 CHNKJDXTSG 。在12信计0330赵彩霞 View.cpp 中添加头文件 #include HNKJDXTSG.h 、#include TC.h
11、、#include ZDTC.h 、然后在CMy120330View:CMy120330View()中实现相关代码实现如下:CMy120330View:CMy120330View() / TODO: add construction code here CHNKJDXBTSG a; for(int i=1;i4;i+) if(a.DoModal()=IDCANCEL) / 按退出键询问“是否确定退出系统!” MessageBox(确定退出 ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
12、 - 第 8 页,共 31 页 - - - - - - - - - 第 8 页exit(0); else if(a.m_str_Srmima=zcx&a.m_str_Yonghuming=zcx) MessageBox(欢迎进入图书馆管理系统 ); break; else / 若错误,请求重新输入 MessageBox(重新输入 ); if(i=3) / 输入三次错误系统自动退出 CZDTC d; d.DoModal(); exit(1); 2、信息登记的实现a) 读者借阅登记打开系统的登记处理下滑菜单,点击借阅登记弹出如图(6)对话框。完成相关内容输入后,点击确定。名师资料总结 - - -精
13、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 31 页 - - - - - - - - - 第 9 页图(6)借阅登记对话框的类为CJYDJ, 对应的函数中的类名也为CJYDJ, 具体实现为:在12信计0330赵彩霞 View.cpp 中调用 CJYDJ。在12信计0330赵彩霞 View.cpp 中添加头文件 #include JYDJ.h,然后在CMy120330View:OnMenuitemJydj()中实现。相关代码实现如下:/借阅登记类void CMy120330View:OnMenu
14、itemJydj() / TODO: Add your command handler code here bool flag=1; while (flag=1) CJYDJ s; /用 CJYDJ 这个类创建一个对象s int g=s.DoModal(); fstream ofile; /创建一个输出文件流对象ofile.open(借阅登记 .txt,ios_base:app|ios:out); if(g=IDOK) string ap; ap=s.m_str_Xingming; string ad; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
15、- - - - - - 名师精心整理 - - - - - - - 第 10 页,共 31 页 - - - - - - - - - 第 10 页ad=s.m_str_Sjbianhao; string ab; ab=s.m_str_Shuming; string ac; ac=s.m_str_Xuehao; ofileac, 书籍编号 :ad 姓名 :ap 书名:abendl; ofile.close(); MessageBox(信息存储完毕! ); break; else flag=0; b)读者归还登记打开系统的登记处理下滑菜单,点击归还登记弹出如图(7)对话框。进行相关信息的输入后,点击确
16、定。图(7)归还登记对话框的类为C GHDJ, 对应的函数中的类名为CGHDJ,具体实现为:在 12 信计 0330 赵彩霞 View.cpp 中调用 C GHDJ。在 12 信计 0330 赵彩霞View.cpp中添加头文件#include GHDJ.h,然后在名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 31 页 - - - - - - - - - 第 11 页CMy120330View:OnMenuitemGhdj() 中实现。相关代码实现如下:/归还登记类vo
17、id CMy120330View:OnMenuitemGhdj() / TODO: Add your command handler code here bool flag=1; while (flag=1) CGHDJ s; int g=s.DoModal(); fstream ofile; /创建一个输出文件流对象ofile.open(归还登记 .txt,ios_base:app|ios:out); if(g=IDOK) string ap; ap=s.m_str_Xingming; string ad; ad=s.m_str_Sjbianhao; string ab; 名师资料总结 -
18、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 31 页 - - - - - - - - - 第 12 页 ab=s.m_str_Shuming; string ac; ac=s.m_str_Xuehao; ofileac, 书籍编号 :ad 姓名 :ap 书名:abendl; ofile.close(); MessageBox(信息存储完毕! ); break; else flag=0; 3、信息的输出实现a) 读者借阅信息输出打开系统的信息处理下滑菜单,点击借阅信息弹出如图(8)对话
19、框。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 31 页 - - - - - - - - - 第 13 页图(8)借阅信息输出的类为 CJYXXCX ,具体实现为:在12 信计 0330 赵彩霞View.cpp 中调用 CJYXXCX 。在 12 信计 0330 赵彩霞 View.cpp 中添加头文件#include JYXXCX.h ,然后在 CMy120330View:OnMenuitemJyxx() 中实现。相关代码实现如下:/借阅信息类void CMy120
20、330View:OnMenuitemJyxx() / TODO: Add your command handler code here ifstream infile(借阅登记 .txt,ios:in); / 创建一个输入文件流对象名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 31 页 - - - - - - - - - 第 14 页try if (!infile) throw FileException(); catch ( FileException fe ) /
21、 exception handler MessageBox(fe.what(); / fe.what() n; exit(0); / 从文件读入借阅信息CClientDC dc(this); char line101; for(int i=0;i400;i+) infile.getline(line,100); CString c_str; c_str.Format(%s,line); / 转换为字符串dc.TextOut(100,80,借阅登记输出 :); dc.TextOut(100,100+30*i,c_str); infile.close(); b) 读者归还信息输出名师资料总结 -
22、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 31 页 - - - - - - - - - 第 15 页打开系统的信息处理下滑菜单,点击归还信息弹出如图(9)对话框。图(9)归还信息输出的类 C GHXXCX , 具体实现为:在 12 信计 0330赵彩霞 View.cpp中调用 CGHXXCX 。在 12 信计 0330 赵彩霞 View.cpp 中添加头文件 #include GHXXCX.h ,然后在 CMy120330View:OnMenuitemGhxx() 中实现。相关代码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年c+图书管理系统课程设计 2022 c+ 图书 管理 系统 课程设计
限制150内