1、课 程 设 计 报 告 课程名称:面向对象程序设计C+ 设计题目:图书管理系统 专 业:计算机科学与技术 姓 名: 学 号: 指导教师:李 晓 虹 2015 年 1 月 10 日1系统需求分析在图书管理系统中,管理员为每个读者建立一个账户,账户内存储读者个人的详细信息,并依据读者类别的不同给每个读者发放借书卡(提供借书卡号、姓名、部门或班级等信息)。读者可以凭借书卡在图书馆进行图书的借、还、续借、查询等操作,不同类别的读者在借书限额、还书期限以及可续借的次数上要有所不同。借阅图书时,由管理员录入借书卡号,系统首先验证该卡号的有效性,若无效,则提示无效的原因;若有效,则显示卡号、姓名、借书限额、
2、已借数量、可再借数量等信息,本次实际借书的数量不能超出可再借数量的值。完成借书操作的同时要修改相应图书信息的状态、读者信息中的已借数量、在借阅信息中添加相应的记录。归还图书时,由管理员录入借书卡号和待归还的图书编号,显示借书卡号、读者姓名、读书编号、读书名称、借书日期、应还日期等信息,并自动计算是否超期以及超期的罚款金额,若进行续借则取消超期和罚款等信息;若图书有损坏,由管理员根据实际情况从系统中选择相应的损坏等级,系统自动计算损坏赔偿金额。完成归还操作的同时,修改相应图书信息的状态、修改读者信息中的已借数量、在借书信息中对相应的借书记录做标记、在还书信息中添加相应的记录。图书管理员不定期地对
3、图书信息进行添加、修改和删除等操作,在图书尚未归还的情况下不能对图书信息进行删除。也可以对读者信息进行添加、修改、删除等操作,在读者还有未归还的图书的情况下不能进行删除读者信息。可以方便地对三个表进行基本的查找、插入、删除、修改、添加以及浏览等基本操作。该系统基于简单的基础数据库操作,目的在于模仿和学习现实生活中的学校学籍管理系统。能够方便地对数据进行管理,通过计算机进行相应的操作,给使用者带来极大的方便,节省了更多的时间和人力物力财力。通过对相应功能按钮的选择用户可以进行相应的操作,比如说用户点击了浏览的功能,我们在设计的过程中设计该功能的时候考虑到该功能与报表相类似所以我们团队就决定用列表
4、控件来显示用户选择的需要浏览的信息。再比如说查找这一项功能。在用户点击查找这一按钮后,系统会弹出一个对话框,该框内有两个查询条件,用户可以根据自己所了解的额情况进行查询。比如知道学生的姓名或者学号中的一个用户就可以用其中的一个条件进行查询。达到了用多种方式方便查询的目的。在用户输入了擦寻条件之后,系统会弹出相应的提示框,询问用户对查询的确认。其他功能和该功能大同小异在这里就不一一叙述了。但是值得一提的是删除功能模块。删除功能模块相当重要,涉及到了数据库中的相当重要的知识,外码(forigen key)的相应知识,以及删除的相应命令级联(CASCAD)删除,通过删除的约束大大地提高了系统数据的安
5、全性以及数据的完整性。2总体设计通过C+ MFC编程并且使用ADO 操作数据库技术,其中数据库使用 SQL Server2008 数据库 以及数据库操作语言SQL语句对数据库进行操作,在数据库中使用相应的表才存储相应的信息。通过对数据库中的数据表的操作从而对相应的信息进行操作。系统与数据库之间的数据交互如图2-1所示:图2-13详细设计3.1系统功能模块详细设计根据图书管理系统的需求分析,把系统的功能划分为两个个大模块,即管理员模块和用户模块。其中管理员模块包括:用户信息管理模块、图书信息管理模块、借阅管理模块、借阅历史模块、密码修改模块、学生信息查询模块。用户模块包括:图书信息检索模块、借阅
6、信息查询模块、借阅历史信息查询模块、密码修改模块。系统功能模块如图3-1所示。图3-1 图书管理系统功能模块图3.2系统数据库详细设计本系统的后台数据库采用Oracle,它是以高级结构化查询语言(SQL)为基础的大型关系数据库,也是目前最流行的客户/服务器体系结构的数据库之一。根据对系统的功能要求分析,得到了网上购物系统的E-R图,见图3-2所示。图3-2 图书管理系统的E-R图分析图书管理系统的E-R图,得到如下关系模式:(1)student(借书证号,姓名,专业,性别,出生时间,借书量,照片);(2)BOOK(ISBN,书名,作者,出版社,价格,副本量,库存量);(3)JY(借书证号,IS
7、BN,索书号,借书时间);(4)JYLS(借书证号,ISBN,索书号,借书时间,还书时间);(5)Users(借书证号,密码,用户类型);4系统调试使用管理员账号10000001和密码123456登录运行结果部分如下列图示:图4-1图4-2图4-3图4-4图4-5图4-6图4-7图4-8图4-95结果分析通过第四项的测试,各项测试结果都能够正常显示,包括基本的数据库维护:数据的增加、删除、修改和更新都能够实现,在数据约束范围内允许用户进行合法的操作(满足数据库的约束条件)。6总结通过这次实践课程所做系统的练习,使得自己对C+ 类和对象的理解增加了不少,特别是又学到了粗浅的额ADO 数据库操作技
8、术,不仅锻炼了自己的自学能力以及资料查找能力,更是促进了自己专业技能的提高,在此次系统的实现过程中我深刻体会到C+类的作用以及C+面向对象的特点。附:程序源代码和运行截图部分源代码:链接数据库:使用ADO链接数据库构造数据库连接类ADOConn数据库连接代码:_bstr_t strConnect=Provider=SQLOLEDB.1;Password=20130516185;Persist Security Info=True;User ID=sa;Initial Catalog=XS;Data Source=localhost;void ADOConn:OinitDBConnect()/初
9、始化OLE/COM库:CoInitialize(NULL);try/创建Connection对象m_pConnection.CreateInstance(ADODB.Recordset);m_pConnection.CreateInstance(ADODB.Connection);/设置连接字符串,必须是BSTR或者_bstr_t 类型_bstr_t strConnect=Provider=SQLOLEDB.1;Password=20130516185;Persist Security Info=True;User ID=sa;Initial Catalog=XS;Data Source=lo
10、calhost;/_bstr_t strConnect=Provider=SQLOLEDB;Server=ntserver;Database=XS;uid=sa;pwd=20130516185;m_pConnection-Open(strConnect,adModeUnknown);/捕获异常catch(_com_error e)/显示错误信息CString strMsg;strMsg.Format(_T(错误描述inital:%sn错误消息%s), (LPCTSTR)e.Description(),(LPCTSTR)e.ErrorMessage();AfxMessageBox(strMsg)
11、;_RecordsetPtr& ADOConn:GetRecordSet(_bstr_t bstrSQL)try/链接数据库,如果Connection对象为空,则重新链接数据库if(m_pConnection=NULL)OinitDBConnect();/创建记录集对象m_pRecordset.CreateInstance(_uuidof(Recordset);/取得表中的记录m_pRecordset-Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);catch(_com
12、_error e)/捕捉异常CString strMsg;strMsg.Format(_T(错误描述GetRecordSet:%sn错误消息%s), (LPCTSTR)e.Description(),(LPCTSTR)e.ErrorMessage();AfxMessageBox(strMsg);/显示错误信息return m_pRecordset;/返回记录集BOOL ADOConn:ExecuteSQL(_bstr_t bstrSQL)/ _variant_t RecordsAffected;try/是否已经连接数据库if(m_pConnection=NULL)OinitDBConnect(
13、);m_pConnection-Execute(bstrSQL,NULL,adCmdText);return true;catch(_com_error e)CString strMsg;strMsg.Format(_T(错误描述ExecuteSQL:%sn错误消息%s), (LPCTSTR)e.Description(),(LPCTSTR)e.ErrorMessage();AfxMessageBox(strMsg);return false;void ADOConn:ExitConnect()/关闭记录集和链接if(m_pRecordset!=NULL)m_pRecordset-Close(
14、);m_pConnection-Close();:CoUninitialize();/该函数的功能是关闭OLE/COM库,释放资源5.2全局类定义用户一经登录用户名和密码便成为该用户在图书管理系统中获取对应权限内信息的唯一线索,因此定义全局类:CGlobal53为每个用户表创建类(列举一个)用户表类:相应功能实现代码:void CUsers:SetUserPwd(CString vUserPwd)UserPwd=vUserPwd;void CUsers:GetData(CString cUserName)/连接数据库 ADOConn m_AdoConn; m_AdoConn.OinitDBCo
15、nnect(); /设置SELECT语句 _bstr_t vSQL; vSQL=SELECT * FROM L_G where 借书证号=+cUserName; /执行SELECT语句 _RecordsetPtr m_pRecordset; m_pRecordset=m_AdoConn.GetRecordSet(vSQL); /返回各列的值 if(m_pRecordset-adoEOF=1) CUsers();/AfxMessageBox(请注册后再使用!); else UserName=atoi(cUserName); UserType=(LPCTSTR)(_bstr_t)m_pRecord
16、set-GetCollect(type); UserPwd=(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(password); m_AdoConn.ExitConnect(); void CUsers:sql_update(CString cUserName)/链接数据库ADOConn m_Adoconn;m_Adoconn.OinitDBConnect();/设置INSERT语句_bstr_t vSQL;vSQL=;m_Adoconn.ExecuteSQL(vSQL);m_Adoconn.ExitConnect();void CUsers:sql_del
17、ete(CString cUserName)/链接数据库ADOConn m_Adoconn;m_Adoconn.OinitDBConnect();/设置INSERT语句_bstr_t vSQL;vSQL=DELETE FROM L_G WHERE 借书证号+cUserName;m_Adoconn.ExecuteSQL(vSQL);m_Adoconn.ExitConnect();void CUsers:SetUserType(int vUserType)UserType=vUserType;CString CUsers:GetUserType()return UserType;运行截图:登录:在
18、登录界面如果用户有图书管理系统的账号(借书证号)和密码则可以登录,如果是该校的学生但是没有账号可以先注册后在进行登录。用户信息错误:如果用户信息错误密码和账号以及用户类型不匹配,则会弹出提示框提示“用户信息错误”。注册模块:管理员登录后的模块:管理员登陆后的界面有相应的功能按钮:图书管理按钮,用户管理按钮,借阅信息管理按钮,借阅历史管理按钮,修改密码按钮,查看学生基本信息按钮。管理员图书管理模块:管理员进入到图书管理界面后能实现:检索,增加,修改,删除,浏览这五个功能。管理员图书管理模块检索:用户可以通过书名或者作者进行图书的检索。管理员-图书管理模块增加:管理员图书管理模块修改:管理员修改图
19、书信息前需要查找需要修改的图书,可将ISBN或书名作为查找项,查找完成后则可以进行相应的修改操作。管理员图书管理模块删除:管理员修改图书信息前需要查找需要删除的图书,可将ISBN或书名作为查找项,查找完成后则可以进行相应的删除操作。管理员图书管理模块浏览:管理员用户管理模块:管理员用户管理模块检索:管理员用户管理模块浏览:管理员用户管理模块增加:管理员用户管理模块修改:管理员用户管理模块删除:管理员借阅信息管理模块:管理员借阅信息管理模块检索:管理员借阅信息管理模块浏览:管理员借阅信息管理模块增加:管理员借阅信息管理模块修改:管理员借阅信息管理模块删除:管理员借阅历史信息管理模块:管理员借阅历
20、史信息管理模块检索:管理员借阅历史信息管理模块浏览:管理员借阅历史信息管理模块增加:管理员借阅历史信息管理模块修改:管理员借阅历史信息管理模块删除:管理员修改密码:管理员查看学生信息:管理员查看学生信息检索:管理员查看学生信息浏览:用户登录模块:用户登录后主界面:用户图书信息模块:用户图书信息模块检索:用户图书信息模块浏览:用户借阅信息模块:用户修改密码模块:1. 基于C8051F单片机直流电动机反馈控制系统的设计与研究2. 基于单片机的嵌入式Web服务器的研究 3. MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究 4. 基于模糊控制的
21、电阻钎焊单片机温度控制系统的研制 5. 基于MCS-51系列单片机的通用控制模块的研究 6. 基于单片机实现的供暖系统最佳启停自校正(STR)调节器7. 单片机控制的二级倒立摆系统的研究8. 基于增强型51系列单片机的TCP/IP协议栈的实现 9. 基于单片机的蓄电池自动监测系统 10. 基于32位嵌入式单片机系统的图像采集与处理技术的研究11. 基于单片机的作物营养诊断专家系统的研究 12. 基于单片机的交流伺服电机运动控制系统研究与开发 13. 基于单片机的泵管内壁硬度测试仪的研制 14. 基于单片机的自动找平控制系统研究 15. 基于C8051F040单片机的嵌入式系统开发 16. 基于
22、单片机的液压动力系统状态监测仪开发 17. 模糊Smith智能控制方法的研究及其单片机实现 18. 一种基于单片机的轴快流CO,2激光器的手持控制面板的研制 19. 基于双单片机冲床数控系统的研究 20. 基于CYGNAL单片机的在线间歇式浊度仪的研制 21. 基于单片机的喷油泵试验台控制器的研制 22. 基于单片机的软起动器的研究和设计 23. 基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究 24. 基于单片机的机电产品控制系统开发 25. 基于PIC单片机的智能手机充电器 26. 基于单片机的实时内核设计及其应用研究 27. 基于单片机的远程抄表系统的设计与研究 28. 基于
23、单片机的烟气二氧化硫浓度检测仪的研制 29. 基于微型光谱仪的单片机系统 30. 单片机系统软件构件开发的技术研究 31. 基于单片机的液体点滴速度自动检测仪的研制32. 基于单片机系统的多功能温度测量仪的研制 33. 基于PIC单片机的电能采集终端的设计和应用 34. 基于单片机的光纤光栅解调仪的研制 35. 气压式线性摩擦焊机单片机控制系统的研制 36. 基于单片机的数字磁通门传感器 37. 基于单片机的旋转变压器-数字转换器的研究 38. 基于单片机的光纤Bragg光栅解调系统的研究 39. 单片机控制的便携式多功能乳腺治疗仪的研制 40. 基于C8051F020单片机的多生理信号检测仪
24、 41. 基于单片机的电机运动控制系统设计 42. Pico专用单片机核的可测性设计研究 43. 基于MCS-51单片机的热量计 44. 基于双单片机的智能遥测微型气象站 45. MCS-51单片机构建机器人的实践研究 46. 基于单片机的轮轨力检测 47. 基于单片机的GPS定位仪的研究与实现 48. 基于单片机的电液伺服控制系统 49. 用于单片机系统的MMC卡文件系统研制 50. 基于单片机的时控和计数系统性能优化的研究 51. 基于单片机和CPLD的粗光栅位移测量系统研究 52. 单片机控制的后备式方波UPS 53. 提升高职学生单片机应用能力的探究 54. 基于单片机控制的自动低频减
25、载装置研究 55. 基于单片机控制的水下焊接电源的研究 56. 基于单片机的多通道数据采集系统 57. 基于uPSD3234单片机的氚表面污染测量仪的研制 58. 基于单片机的红外测油仪的研究 59. 96系列单片机仿真器研究与设计 60. 基于单片机的单晶金刚石刀具刃磨设备的数控改造 61. 基于单片机的温度智能控制系统的设计与实现 62. 基于MSP430单片机的电梯门机控制器的研制 63. 基于单片机的气体测漏仪的研究 64. 基于三菱M16C/6N系列单片机的CAN/USB协议转换器 65. 基于单片机和DSP的变压器油色谱在线监测技术研究 66. 基于单片机的膛壁温度报警系统设计 6
26、7. 基于AVR单片机的低压无功补偿控制器的设计 68. 基于单片机船舶电力推进电机监测系统 69. 基于单片机网络的振动信号的采集系统 70. 基于单片机的大容量数据存储技术的应用研究 71. 基于单片机的叠图机研究与教学方法实践 72. 基于单片机嵌入式Web服务器技术的研究及实现 73. 基于AT89S52单片机的通用数据采集系统 74. 基于单片机的多道脉冲幅度分析仪研究 75. 机器人旋转电弧传感角焊缝跟踪单片机控制系统 76. 基于单片机的控制系统在PLC虚拟教学实验中的应用研究77. 基于单片机系统的网络通信研究与应用 78. 基于PIC16F877单片机的莫尔斯码自动译码系统设
27、计与研究79. 基于单片机的模糊控制器在工业电阻炉上的应用研究 80. 基于双单片机冲床数控系统的研究与开发 81. 基于Cygnal单片机的C/OS-的研究82. 基于单片机的一体化智能差示扫描量热仪系统研究 83. 基于TCP/IP协议的单片机与Internet互联的研究与实现 84. 变频调速液压电梯单片机控制器的研究 85. 基于单片机-免疫计数器自动换样功能的研究与实现 86. 基于单片机的倒立摆控制系统设计与实现 87. 单片机嵌入式以太网防盗报警系统 88. 基于51单片机的嵌入式Internet系统的设计与实现 89. 单片机监测系统在挤压机上的应用 90. MSP430单片机
28、在智能水表系统上的研究与应用 91. 基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用92. 单片机在高楼恒压供水系统中的应用 93. 基于ATmega16单片机的流量控制器的开发 94. 基于MSP430单片机的远程抄表系统及智能网络水表的设计95. 基于MSP430单片机具有数据存储与回放功能的嵌入式电子血压计的设计 96. 基于单片机的氨分解率检测系统的研究与开发 97. 锅炉的单片机控制系统 98. 基于单片机控制的电磁振动式播种控制系统的设计 99. 基于单片机技术的WDR-01型聚氨酯导热系数测试仪的研制 100. 一种RISC结构8位单片机的设计与实现 101. 基于单片机
29、的公寓用电智能管理系统设计 102. 基于单片机的温度测控系统在温室大棚中的设计与实现103. 基于MSP430单片机的数字化超声电源的研制 104. 基于ADC841单片机的防爆软起动综合控制器的研究105. 基于单片机控制的井下低爆综合保护系统的设计 106. 基于单片机的空调器故障诊断系统的设计研究 107. 单片机实现的寻呼机编码器 108. 单片机实现的鲁棒MRACS及其在液压系统中的应用研究 109. 自适应控制的单片机实现方法及基上隅角瓦斯积聚处理中的应用研究110. 基于单片机的锅炉智能控制器的设计与研究 111. 超精密机床床身隔振的单片机主动控制 112. PIC单片机在空
30、调中的应用 113. 单片机控制力矩加载控制系统的研究 项目论证,项目可行性研究报告,可行性研究报告,项目推广,项目研究报告,项目设计,项目建议书,项目可研报告,本文档支持完整下载,支持任意编辑!选择我们,选择成功!项目论证,项目可行性研究报告,可行性研究报告,项目推广,项目研究报告,项目设计,项目建议书,项目可研报告,本文档支持完整下载,支持任意编辑!选择我们,选择成功!单片机论文,毕业设计,毕业论文,单片机设计,硕士论文,研究生论文,单片机研究论文,单片机设计论文,优秀毕业论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,毕业论文,单片机论文,基于单片机论文,毕业论文终稿,毕业论文初稿,本文档支持完整下载,支持任意编辑!本文档全网独一无二,放心使用,下载这篇文档,定会成功!