




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
校验:_____________日期:_____________
校验:_____________日期:_____________
C++图书馆管理系统课程设计报告目录摘要·····························21.图书管理系统概述················3·····3···············42.图书管理系统详细设计·············5········5···················5·····5································5········73.课程设计总结和体会··············19摘要图书馆管理系统创建基于MFCAPPWizard[exe],利用SQLSERVE2000和MFCODBC进行数据库的连接,在可视化的界面上进行用户名、图书及借书卡的查询、添加、修改、删除,对数据库表内的信息列表进行操作。图书馆管理系统主要完成了用户登录功能、新建/删除用户功能、用户管理功能,对数据库内图书、借书卡和用户信息进行查询、添加、删除、修改功能。图书馆管理系统设计是有下列几步完成的:首先对整体功能进行分析,开始是用户登录,登陆成功后显示主界面,其分为图书资料、读者资料、借书管理、还书管理和退出五个菜单;第二步是对五个菜单继续划分成具体的类进行实现;第三步是根据课程设计的要求在数据库内的建立具体的表,并且进行连接,及对数据库数据库内容的操作,与此同时完成界面的退出操作;第四步是对图书馆管理系统进行的全面优化,修改不足。关键词:MFC,数据库,图书,管理1.图书管理系统概述图书馆管理系统的功能为读者提供借书、还书和查询所需图书及图书、读者卡的管理等功能。图书馆管理系统的功能模块有:(1)登录界面只有管理员才能使用全部功能,更好的保护图书馆内的一些信息不被破坏。(2)读者资料能实现对读者的显示、读者信息增加、读者查询、读者信息修改和读者信息删除功能。(3)图书资料能实现对图书显示、图书信息增加、图书查询、图书信息修改和图书信息删除功能。(4)借书管理可与数据库中的图书信息表连接实现借书的功能。(5)还书管理可与数据库中的图书信息表连接实现还书的功能(6)退出退出程序,结束运行。通过SQLserver建立一个图书馆管理系统的数据库,在控制面板的管理工具上用手动方式添加数据源进行连接。而与数据表的连接采用记录集的形式一一建立连接,可以进行图书资料和读者资料的管理,图书资料管理包括图书信息增加、图书查询、图书信息修改和图书信息删除四项,读者资料管理管理包括读者信息增加、读者查询、读者信息修改和读者信息删除。用ODBC语言将数据库与C++连接起来,首先是登录界面,只有管理员才可进入。登陆成功后,管理员可在系统界面进行读者资料、图书资料、借书管理、还书管理等功能,通过对话框的跳转实现借书、还书、图书新增、查询等功能。在每个对话框都可实现新增、查询、删除、修改等功能顺利的对图书馆进行管理。程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。程序开始程序开始登录界面面还书管理借书管理读者资料图书资料借书确定增修删查读者显示系统界面面增修删查图书显示程序结束退出2.图书管理系统详细设计新建数据库(SQLserver)新建数据库名为library,然后在数据库下建立五个表,分别为BOOK、BORROW、CLERK、HISTORY、READER。其中,BOOK是存放图书信息的,BORROW是存放借书信息的,CLERK是存放管理员信息的,READER是存放读者信息的。然后设计各个表中的字段,并定义主键,然后输入数据即可。此次课程设计用ODBC语言将数据库与C++连接,在连接之前应创建数据源。在控制面板上打开管理工具,可以找到数据源(ODBC),添加数据源,可以创建不同类型的数据库,此次设计用到了SQLServer,便选择其,打开SQLServer中的服务管理器可找到服务器的名称,将默认数据库改为自己的数据库。点下一步直至完成。这样,数据源创建成功了。其步骤如下所示eq\o\ac(○,1)双击新建的对话框或建立类向导,如下图:eq\o\ac(○,2)点击OK,则如下图所示:eq\o\ac(○,3)在所示对话框中输入Name,然后Baseclass中选择CRecordset,点击OK,出现下图:eq\o\ac(○,4)既连接数据源,注意选择记录集类型为Dynaset。点击OK,出现下图:eq\o\ac(○,5)eq\o\ac(○,1)登录函数voidCLoginDlg::OnConfirm()//登录函数{ //TODO:Addyourcontrolnotificationhandlercodehere CClerkDataSetmrsDataSet;/*声明记录集*/ CStringmSqlStr;UpdateData(TRUE);//将相应控件上的值反应到变量上 { AfxMessageBox("请正确输入用户名!"); return; }mSqlStr="SELECT*FROMCLERKWHERENAME='";//查询数据库中表CLERK中名字是输入的 mSqlStr=mSqlStr+m_strName; mSqlStr=mSqlStr+"'ANDPASSWORD='"; mSqlStr=mSqlStr+m_strPassword; mSqlStr=mSqlStr+"'"; { AfxMessageBox("CLERK表打开失败!"); return; } { //Openallfunctionforuser CDialog::OnOK(); } else { AfxMessageBox("登录失败,请重新输入!"); return; } }登录界面为登录成功为eq\o\ac(○,2)图书资料中的查询函数voidCBookDlg::OnEnquery(){ //TODO:Addyourcontrolnotificationhandlercodehere UpdateData(TRUE); { DisplayRecord(); SetButtonState(); return; } BOOLmAll=FALSE; { mAll=TRUE; } { if(mAll) { } else { } } DisplayRecord(); SetButtonState();}eq\o\ac(○,3)图书资料中的修改函数voidCBookDlg::OnEdit(){ //TODO:Addyourcontrolnotificationhandlercodehere m_bEdit=TRUE; SetButtonState(); SetTextState(); CWnd*pWnd; pWnd=GetDlgItem(IDC_BOOKNAME); pWnd->SetFocus();}eq\o\ac(○,4)图书资料中的删除函数voidCBookDlg::OnDelete(){ //TODO:Addyourcontrolnotificationhandlercodehere DisplayRecord(); SetButtonState(); }eq\o\ac(○,5)图书资料中的增加函数voidCBookDlg::OnNew(){ //TODO:Addyourcontrolnotificationhandlercodehere m_strBookID=""; m_strBookName=""; m_strAuthor=""; m_strPress=""; m_strFlag="Y"; UpdateData(FALSE); m_bEdit=TRUE; m_bAdd=TRUE; SetButtonState(); SetTextState(); CWnd*pWnd; pWnd=GetDlgItem(IDC_BOOKID); pWnd->SetFocus();}eq\o\ac(○,6)图书资料中的保存函数voidCBookDlg::OnSave()//保存书籍{ //TODO:Addyourcontrolnotificationhandlercodehere UpdateData(TRUE); { AfxMessageBox("请输入相应数据!"); return; } if(m_bAdd) { } else { } m_bAdd=FALSE; m_bEdit=FALSE; DisplayRecord(); SetButtonState();SetTextState();}图书资料界面如下图所示:读者资料界面如下图:读者资料中的函数与图书资料中的函数基本一致。eq\o\ac(○,7)借书函数voidCBorrowDlg::OnConfirm(){//TODO:Addyourcontrolnotificationhandlercodehere BOOLm_bCanBorrow; BOOLm_bCanLendOut; m_bCanBorrow=FALSE; m_bCanLendOut=FALSE; CStringmSqlStr;UpdateData(TRUE); { AfxMessageBox("数据表打开错误!"); return; } { { mSqlStr="SELECT*FROMBORROWWHEREREADER_ID='"+m_strReaderID; mSqlStr=mSqlStr+"'"; { AfxMessageBox("数据表打开错误!"); return;} m_bCanBorrow=TRUE; } }if(!m_bCanBorrow) { AfxMessageBox("读者不能借书!"); return; }mSqlStr="SELECT*FROMBOOKWHEREBOOK_ID='"+m_strBookID; mSqlStr=mSqlStr+"'"; { AfxMessageBox("数据表打开错误!"); return; } { { m_bCanLendOut=TRUE; } else { AfxMessageBox("此书不外借!"); return; } } else { AfxMessageBox("无此书!"); return; }CStringm_strUserID;COleDateTimem_CurrentTime=COleDateTime::GetCurrentTime(); CStringstrTime; mSqlStr="INSERTINTOBORROW(READER_ID,BOOK_ID,BORROW_DATE,B_CLERK_ID)VALUES('"; mSqlStr=mSqlStr+m_strReaderID; mSqlStr=mSqlStr+"','"; mSqlStr=mSqlStr+m_strBookID; mSqlStr=mSqlStr+"','"; mSqlStr=mSqlStr+strTime; mSqlStr=mSqlStr+"','"; mSqlStr=mSqlStr+m_strUserID; mSqlStr=mSqlStr+"')"; CDatabasemDB; { AfxMessageBox("无法打开数据库!"); return; } try { }catch(CDBExceptione) { AfxMessageBox("执行错!"); return; } AfxMessageBox("操作成功!");}voidCBorrowDlg::OnCancel(){ //TODO:Addyourcontrolnotificationhandlercodehere CDialog::OnCancel();}借书界面eq\o\ac(○,8)还书函数voidCReturnDlg::OnConfirm(){ intrs; CWnd*pWnd; CStringm_strtmp;rs=QryBorrow(); if(rs==1) { if(::MessageBox(this->m_hWnd,m_strtmp,"提示",MB_YESNO)==IDYES) { Insert_History(); Delete_Borrow(); SetTxtNull(); } else { return; } } elseif(rs==2) { if(::MessageBox(this->m_hWnd,"确认还书?","提示",MB_YESNO)==IDYES) { Insert_History(); Delete_Borrow(); SetTxtNull(); } else { return; }} elseif(rs==0) { if(m_Book_ID=="") return; ::MessageBox(this->m_hWnd,"该书号信息不存在!","警告",MB_OK); } pWnd=GetDlgItem(IDC_BOOK_ID); pWnd->SetFocus();}还书界面eq\o\ac(○,8)退出函数voidCLibraryDlg::OnButtonGoodbye(){//TODO:Addyourcontrolnotificationhandlercodehere intnResponse=MessageBox("真
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社会变革中的文化创新与公众参与
- 文化产业发展与体制改革的协同作用
- 牦牛养殖的现状与发展趋势
- 医疗AI技术的伦理审视与风险控制
- 民俗文化在现代旅游中的转化与创新
- 专科教师之路
- 中医舌苔图谱
- 健康教育形式和方法
- 2025二手交易物品买卖合同范本
- 再生障碍性贫血的护理查房
- 民法司法考试题及答案
- 河南省修武县西村乡初中2024-2025学年九下5月语文中考模拟试题(含答案)
- Machine-Cmk-设备能力指数Cmk分析表
- 2025年全国保密教育线上培训考试试题库【完整版】附带答案详解
- 江西省南昌市2025届高三下学期二模生物试题 含解析
- 幼儿园小班科学领域《云朵和雨点》课件
- 2025届苏锡常镇四市高考生物二模试卷含解析
- (二模)青岛市2025年高三年级第二次适应性检测历史试卷(含标准答案)
- DB23T 3945-2025 黑龙江省超低能耗居住建筑节能施工技术规程
- 2025-2030鞋靴行业市场发展分析及投融资与风险研究报告
- 福建农信招聘笔试真题2024
评论
0/150
提交评论