ImageVerifierCode 换一换
格式:DOC , 页数:41 ,大小:1.22MB ,
资源ID:2799509      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2799509.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(C--课程设计-图书管理系统0.doc)为本站上传会员【胜****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C--课程设计-图书管理系统0.doc

1、课程设计报告课程名称:面向对象程序设计C+设计题目: 图书管理系统 专业: 计算机科学与技术 姓名: 学号: 指导教师: 李晓虹 2015年12月30日目录 一、系统背景31.1 摘要31.2 背景和目的31.3 关键字3二、操作分析32.1 关于使用者4三、需求分析63.1 产品透视图63.2 产品功能63.3 流程7四、界面设计84.1 软件图标84.2 主界面94.3 借阅用户界面94.4 图书管理员界面104.5 借还登记人员界面10五、系统具体功能的实现115.1 数据源配置115.2 导入ADO库文件155.3 连接数据库165.4 主界面和注册功能实现185.5 登录功能实现24

2、5.6 借阅用户功能实现功能实现275.7 图书管理员功能实现375.8 登记人员功能实现44六、结束语446.1 心得体会44一、系统背景【摘要】随着信息技术的发展,对于数据库的应用日益深入到人们的生活,本组的数据库项目是关于建立图书管理系统。对图书管理系统功能的扩展将友好化所有操作界面,使使用者更加轻松掌握借阅、管理、查询图书等操作。 【背景及目的】身处于信息高速发展的时代,信息资源当之无愧是世界最宝贵的资源之一。与此同时,信息作为一种虚拟资源,数量繁多且冗杂,资源类型繁多。热爱书物者学生,教育者,繁忙的上班族居多,图书管理系统将庞大的资源进行系统化的分类,动态地操作信息资源的流动。图书管

3、理系统使人们的生活更加的便捷,高效。 【关键字】使用者;需求分析;设计界面;C+;MFC;SQL server;二、操作分析 2.1、关于使用者 将图书管理系统分为了四类,分别为:一般用户、借阅读者、借阅还书办理人员、图书管理人员。一般用户指不需经过注册和登录但可以使用图书管理系统给该身份提供的基本查询和浏览功能的用户,借阅读者即是需要注册和登录后才能进行图书借阅等功能的用户,借阅还书办理人员即是为借阅者提供服务的人员,包括借阅用户借阅和归还书刊登记的操作及相关信息查询。图书管理员是对图书基本信息、借阅用户信息管理,分类等操作的人员。因此界面的操作上应该包含这四类的使用者。图书管理系统的打开界

4、面(如图2-1),点击“用户登录”。进入登录界面图2-1用户登录界面(如图2-2) 图2-2用户可以看到关于登录人员的分类,随即进行接下来的操作。对于没有借阅过的新用户,点击借阅用户注册按钮,弹出注册界面: 经过调试,该界面是用户友好界面,方便使用者的操作和注册。三、关于需求的分析3.1系统功能已注册用户登录功能;新用户注册功能;图书基本信息检索功能;已注册用户自身基本信息和借阅信息查询及书刊续借功能;图书管理员查询与修改借阅用户基本信息和借阅信息功能,图书信息更新功能。3.2系统E-R图(如图3-2) 图3-23.3功能流程前面我们组确定了对图书管理系统的使用对象的定位,需求分析是根据适用对

5、象而定的,要求操作界面友好,操作方便,便于使用者进行登录,注册,图书查询,图书借阅的操作一体化,流程清楚明了,便于理解与使用。下图1是关于一般用户,借阅者,图书借阅管理员及图书管理员操作流程。3.4功能流程图(如图3-4) 图3-4上图是图书管理系统的建模过程,下面是该系统的使用者对向对系统的使用需求:1) 图书基本情况的录入、修改、删除等基本操作。2) 实现借书功能。3) 实现还书功能。4) 能方便的对图书进行查询。5) 续借。6) 借还情况登记。对实验的要求:图书编号可参考国家统一的图书编码方法,再完成基本功能模块的情况下,尽量使系统能具有通用性。从上述陈诉中可以发现以下元素:使用对象:1

6、. 一般用户2. 借阅者3. 图书管理员4. 借还登记人员 基本用例:1.注册:新用户账号注册2.登录:老用户的系统登录3.图书查询:对需要搜索图书的查询4.图书借阅:已注册用户对图书的相关借阅5.图书数据更新:图书管理员对新图书数据的添加6.图书归还:已借阅图书的归还四、设计界面软件的界面是用户与计算机进行信息数据交流的媒介,一个软件设计界面的人性化,友好与否将决定该软件的受欢迎度。所以在软件的界面设计方面做了很多次实验。软件图标(如图4-1): 图4-1软件登录主界面设计(如图4-2) 图4-2借阅用户界面(如图4-3) 图4-3图书管理员界面(如图4-4) 图4-4借阅登记人员界面(如图

7、4-5) 图4-5软件产品的美观与否,与本组设计的图书管理系统受欢迎程度息息相关!五、模块实现C+和数据库的操作本系统采用VC+MFC创建应用程序框架,使用ADO实现应用程序对数据库的连接和操作,SQL server 2005作为数据库驱动器。其中ADO对数据库的连接和操作步骤如下:5.1在本机上配置ODBC数据源由于ADO是微软推出的数据库接口新标准,到现在为止已经成为最通用最流行和操作性很好的一个数据库接口标准。首先仍然需要在服务器上配置数据源,本系统以本机作为服务器配置数据源。操作如下:在 开始控制面板管理工具ODBC数据源,之后操作(如图5-1) 图5-1 点击添加,运行(如图5-2)

8、 图5-2选择需要添加的数据源驱动程序,本系统为SQL server。选择好驱动器后点击完成(如图5-3) 图5-3自己任意填写一个数据源名称,选择好服务器,该服务器名与登录SQL server时使用的服务器名一致即可。然后点击下一步(如图5-4) 图5-4根据提示选好登录方式和信息以后点击下一步(如图5-5) 图5-5选择需要连接的数据库点击下一步(如图5-6) 图5-6点击完成后如下图,点击测试连接,若成功(如图5-7) 图5-7以上边配置好了数据源。下面进行数据源与程序的连接1、利用windows系统自带的ADO库文件实现应用程序与数据源的连接通常首先可在C:Program FilesC

9、ommon FilesSystemado目录下找到msado15.dll(不同安装目录可能路径不一样,操作系统版本的不同可能相应的msado15.dll文件版本不同),找到后复制粘贴到自建的应用程序目录下,和debug路径相同。本系统是基于对话框的程序,因此可在FileView的头文件里找到stdfax.h文件,将ADO用如下代码导入到程序(键入到stdfax.h里):#if defined(ADO2_OLD)#pragma message( Using ADO2 TLB ) #import no_namespace rename(EOF, adoEOF) #else #pragma mess

10、age( Using Latest ADO ) #import msado15.dll no_namespace rename(EOF, adoEOF) #endif(如图5-7) 图5-71、 ADO库导入后便可利用ADO库里提供的接口开始进行链接和操作数据库,具体代码如下:_ConnectionPtr PConnection;/定义指向数据库的指针(对象)_RecordsetPtr PRecordset;/定义指向结果集的指针(对象):CoInitialize(NULL);/COM接口初始化tryUpdateData();/初始化和刷新程序窗口数据 PConnection.CreateIn

11、stance(ADODB.Connection);PConnection-Mode=adModeReadWrite;/数据库打开模式设置PConnection-ConnectionString = _T(Data Source=KAY-PC;Provider=SQLOLEDB.1;Initial Catalog=指定数据库名);/设置连接字符串 HRESULT hr1=PConnection-Open(_T(),_T(sa),_T(qwe123),adAsyncConnect); /PConnection指向数据库对象AfxMessageBox(请稍后!);if(SUCCEEDED(hr1)/

12、测试连接是否成功AfxMessageBox(连接数据库成功!);return;catch(_com_error &e)/捕捉错误信息AfxMessageBox(e.ErrorMessage();return;操作结果集的代码如下:try PRecordset.CreateInstance(ADODB.Recordset); CString result;result.Format(SQL语句);/将SQL语句用一个字符串表示 /打开记录集,PRecordset指针指向结果集 PRecordset-Open(_bstr_t)result,PConnection.GetInterfacePtr()

13、,adOpenKeyset,adLockOptimistic,adCmdText);/打开结果集if(PRecordset-BOF)&(PRecordset-adoEOF)/表中无记录AfxMessageBox(无查询结果!);if(PRecordset!=NULL)PRecordset-Close();/关闭结果集 PConnection-Close();/关闭数据库连接return;else/对结果集的操作if(PRecordset!=NULL)PRecordset-Close();/关闭结果集 PConnection-Close();/关闭数据库连接return; catch(_com_

14、error &e)AfxMessageBox(e.ErrorMessage();return;5.2数据库设计5.2.1读者信息表(如表5.1) 表5.15.2.2管理员登录表(如表5.2) 表5.25.2.3借还人员登记表(如表5.3) 表5.35.2.4借阅信息表(如表5.4) 表5.45.2.5图书信息表(如表5.5) 表5.5六、详细设计6.1主界面(如图6-1) 图6-1主要代码如下:书刊检索:void CBMSDlg:Ongosearch() / TODO: Add your control notification handler code here/删除列定义for(int i

15、=0;iMode=adModeReadWrite;/连接数据库PConnection-ConnectionString = _T(Data Source=KAY-PC;Provider=SQLOLEDB.1;Initial Catalog=BMSDATABASE);/PConnection指向数据库对象 HRESULT hr1=PConnection-Open(_T(),_T(sa),_T(qwe123),adAsyncConnect);AfxMessageBox(正在查询!);if(SUCCEEDED(hr1)/AfxMessageBox(连接数据库成功!);/return;catch(_c

16、om_error &e)AfxMessageBox(e.ErrorMessage();return;try PRecordset.CreateInstance(ADODB.Recordset); _bstr_t bstrSQL;CString result;result.Format(select * from books_basic_information where book_no=%s,m_search);/从编辑框获取值m_name及对应的sql语句 /打开记录集,PRecordset指针指向结果集 PRecordset-Open(_bstr_t)result,PConnection.

17、GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);if(PRecordset-BOF)&(PRecordset-adoEOF)/表中无记录AfxMessageBox(无检索结果!);if(PRecordset!=NULL)PRecordset-Close(); PConnection-Close();return;elsewhile(!PRecordset-adoEOF)m_datalist.InsertItem(0,);m_datalist.SetItemText(0,0,(char*)(_bstr_t)PRecordset

18、-GetCollect(book_no);m_datalist.SetItemText(0,1,(char*)(_bstr_t)PRecordset-GetCollect(book_name);m_datalist.SetItemText(0,2,(char*)(_bstr_t)PRecordset-GetCollect(writer);m_datalist.SetItemText(0,3,(char*)(_bstr_t)PRecordset-GetCollect(ISBN);m_datalist.SetItemText(0,4,(char*)(_bstr_t)PRecordset-GetCo

19、llect(pressdate);m_datalist.SetItemText(0,5,(char*)(_bstr_t)PRecordset-GetCollect(sum_num);m_datalist.SetItemText(0,6,(char*)(_bstr_t)PRecordset-GetCollect(remain);PRecordset-MoveNext();if(PRecordset!=NULL)PRecordset-Close(); PConnection-Close();return; catch(_com_error &e)AfxMessageBox(e.ErrorMessa

20、ge();return;注册:void CBMSDlg:Oncheckin() /界面跳转函数/ TODO: Add your control notification handler code hereReadercheckin *pDlg=new Readercheckin; pDlg-Create(IDD_readercheckin,this); pDlg-ShowWindow(SW_SHOW);/将注册信息保存到数据库void Readercheckin:OnOK() / TODO: Add extra validation here/CDialog:OnOK();try:CoInit

21、ialize(NULL);/接口初始化UpdateData();/数据更新if(m_name.GetLength()=0|m_password.GetLength()=0)AfxMessageBox(用户名或密码不能为空!);return;_bstr_t bstrSQL;CString result;_ConnectionPtr PConnection;_RecordsetPtr PRecordset;PConnection.CreateInstance(_uuidof(Connection);/创建实例PRecordset.CreateInstance(_uuidof(Recordset);

22、 /:CoInitialize(NULL);/接口初始化PConnection-Mode=adModeUnknown; /连接数据库PConnection-ConnectionString = _T(Data Source=KAY-PC;Provider=SQLOLEDB.1;Initial Catalog=BMSDATABASE);/PConnection指向数据库对象 PConnection-Open(_T(),_T(sa),_T(qwe123),adAsyncConnect);AfxMessageBox(注册成功!);/打开记录集,PRecordset指针指向结果集 /HRESULT h

23、r=PRecordset-Open(bstrSQL,PConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); /从编辑框获取值m_name及对应的sql语句result.Format(insert into user_account(Username,Password) values(%s,%s),m_name,m_password);/执行sql语句HRESULT hr=PConnection-Execute(_bstr_t)result,NULL,adCmdText);if(SUCCEEDED(hr)/

24、AfxMessageBox(注册成功!);if(PConnection-State)/如果连接数据库有效 PConnection-Close();/关闭数据库 PConnection = NULL;/指针值为空:CoUninitialize();DestroyWindow();return;catch(_com_error &e)AfxMessageBox(e.ErrorMessage();:CoUninitialize();return;登录界面(如图6-2) 图6-2 实现代码:void Readerlogin:OnOK() /登录函数/ TODO: Add extra validatio

25、n here/CDialog:OnOK(); :CoInitialize(NULL);/接口初始化_ConnectionPtr PConnection;_RecordsetPtr PRecordset;tryUpdateData(); if(m_sno.GetLength()=0|m_password.GetLength()=0)AfxMessageBox(用户名或密码不能为空!);ShowWindow(SW_HIDE); return; PConnection.CreateInstance(ADODB.Connection);PConnection-Mode=adModeReadWrite;

26、/连接数据库PConnection-ConnectionString = _T(Data Source=KAY-PC;Provider=SQLOLEDB.1;Initial Catalog=BMSDATABASE);/PConnection指向数据库对象 HRESULT hr1=PConnection-Open(_T(),_T(sa),_T(qwe123),adAsyncConnect);AfxMessageBox(正在验证身份信息!);/关键作用catch(_com_error &e)AfxMessageBox(e.ErrorMessage();:CoUninitialize();/关闭re

27、turn; try PRecordset.CreateInstance(ADODB.Recordset); _bstr_t bstrSQL;CString result;result.Format(select * from user_account where Username=%s and Password=%s,m_sno,m_password);/从编辑框获取值m_name及对应的sql语句 /打开记录集,PRecordset指针指向结果集 PRecordset-Open(_bstr_t(result),PConnection.GetInterfacePtr(),adOpenKeyse

28、t,adLockOptimistic,adCmdText); if(PRecordset-BOF)&(PRecordset-adoEOF)/表中无记录AfxMessageBox(用户名或密码错误或该用户不存在!);:CoUninitialize();/关闭return;elseif(PConnection-State)/如果连接数据库有效 PConnection-Close();/关闭数据库 PConnection = NULL;/指针值为空:CoUninitialize();/关闭/DestroyWindow();ShowWindow(SW_HIDE);Readermain *pDlg=ne

29、w Readermain;/建立非模态对话框 pDlg-Create(IDD_readermain,this); pDlg-ShowWindow(SW_SHOW);return; catch(_com_error &e) AfxMessageBox(e.ErrorMessage();:CoUninitialize();/关闭return; 借阅用户界面(如图6-3) 图6-3实现代码:void Readermain:Onbooksearch() /查询书刊信息/ TODO: Add your control notification handler code here/建显示表/CListCt

30、rl:DeleteColumn();for(int i=0;iMode=adModeReadWrite;/连接数据库PConnection-ConnectionString = _T(Data Source=KAY-PC;Provider=SQLOLEDB.1;Initial Catalog=BMSDATABASE);/PConnection指向数据库对象 HRESULT hr1=PConnection-Open(_T(),_T(sa),_T(qwe123),adAsyncConnect);AfxMessageBox(正在查询!);if(SUCCEEDED(hr1)/AfxMessageBox

31、(连接数据库成功!);/return;catch(_com_error &e)AfxMessageBox(e.ErrorMessage();return;try PRecordset.CreateInstance(ADODB.Recordset); _bstr_t bstrSQL;CString result;result.Format(select * from books_basic_information where book_no=%s,m_booksearch);/从编辑框获取值m_name及对应的sql语句 /打开记录集,PRecordset指针指向结果集 PRecordset-O

32、pen(_bstr_t)result,PConnection.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);if(PRecordset-BOF)&(PRecordset-adoEOF)/表中无记录AfxMessageBox(无检索结果!);if(PRecordset!=NULL)PRecordset-Close(); PConnection-Close();return;elsewhile(!PRecordset-adoEOF)m_list.InsertItem(0,);m_list.SetItemText(0,0,(ch

33、ar*)(_bstr_t)PRecordset-GetCollect(book_no);m_list.SetItemText(0,1,(char*)(_bstr_t)PRecordset-GetCollect(book_name);m_list.SetItemText(0,2,(char*)(_bstr_t)PRecordset-GetCollect(writer);m_list.SetItemText(0,3,(char*)(_bstr_t)PRecordset-GetCollect(ISBN);m_list.SetItemText(0,4,(char*)(_bstr_t)PRecordset-GetCollect(pressdate);m_list.SetItemText(0,5,(char*)(_bstr_t)PRecordset-GetCollect(sum_num);m_list.SetItemText(0,6,(char*)(_bstr_t)PRecordset-GetCollect(remain);PRecordset-MoveNext();if(PRecordset!=NULL)PRecor

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服