高级语言程序设计C-课程答辩课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《高级语言程序设计C-课程答辩课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 课程 答辩 课件
- 资源描述:
-
1、高级语言程序设计(高级语言程序设计(C+)课程答辩课程答辩题 目:图书馆管理系统院 系:班 级:学 号:姓 名:系统开发系统开发背景背景 某民办高校在创办初期,办学规模比较小。学校的图书数量,以及借阅人数都比较少,所以,一直以来对图书管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况的统计和审核等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。近年来由于国家对民办教育的大力扶持,该民办高校的办学规模迅速扩大,学校的硬件设施以及在校学生和职工数都在成倍增长,给学校的图书馆管理也带来了巨大的压力,早期的手工图书管理方式已经不能满足日益增长的图
2、书借阅需求。使用计算机对图书信息进行管理,具有手工管理所无法比拟的特点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。为了适应学校迅速发展的趋势,解决日益尖锐的图书馆管理矛盾,该校提出了采用计算机管理图书信息的需求。本系统就是基于这个需求进行开发的。系统需求系统需求在图书管理信息系统开发时应该满足以下具体的系统需求:1)满足图书借阅管理的基本需求2)满足图书书库管理的基本需求3)满足图书借阅人管理的基本需求4)对操作人员的技能要求比较低,操作方便。5)能够实现方便的扩展,满足图书馆发展的需要。6)能够保障图书馆管理数据的安全、准确。系统层次模块图系统层次模块图某学校
3、图书管理信息系统可以分为5个子模块:系统登录、图书信息管理、读者信息管理、借书服务管理、还书服务管理,如图所示。数据库设计数据库设计 根据系统功能设计的要求以及功能模块的划分,对于本系统的数据库,可以列出以下数据项和数据结构:(1)名称:登录信息表表名标识符:CLERK(2)名称:书籍信息表表名标识符:BOOK(3)名称:读者信息表表名标识符:READER(4)名称:借书信息表表名标识符:BORROW(5)名称:借还书历史表表名标识符:HISTORY 创建项目创建项目 创建一个基于对话框的MFC AppWizard(exe)项目,项目名为Library。为了能在对话框中用ODBC编写数据库,需
4、在stdafx.h中手动添加支持:#include 登录模块登录模块(1)模块的功能书籍市图书馆最宝贵的财产,它的借进借出都应该保证安全。每个管理员用自己的用户名和密码登陆,来使用图书馆管理系统。通过某管理员借进和借出的书都有他的标记。这样就保证了书籍的安全。(2)界面设计设计界面如图所示。对话框属性设置为:IDD_DIALOG_LOGIN。为IDD_DIALOG_LOGIN添加CLoginDlg类其中主要控件的属性、功能及成员变量如图所示。(3)添加CClerkDataSet类与登录信息表连接(4)代码编写“取消”按钮取消输入,并关闭登录对话框:“登录”按钮当管理员填完用户名和密码后,单击“
5、登录”按钮,先检查用户名和密码是否合法。然后查找数据库中是否有该管理员的信息,若有则登陆成功。具体代码如下:void CLoginDlg:OnConfirm()/TODO:Add your control notification handler code hereCClerkDataSet mrsDataSet;/*声明记录集*/CString mSqlStr;UpdateData(TRUE);if(m_strName.IsEmpty()/*判断用户名信息是否为空*/AfxMessageBox(请输入用户名!);return;mSqlStr=SELECT*FROM CLERK WHERE N
6、AME=;mSqlStr=mSqlStr+m_strName;mSqlStr=mSqlStr+AND PASSWORD=;mSqlStr=mSqlStr+m_strPassword;mSqlStr=mSqlStr+;if(!mrsDataSet.Open(AFX_DB_USE_DEFAULT_TYPE,mSqlStr)AfxMessageBox(CLERK表打开失败!);return;if(!mrsDataSet.IsEOF()/Open all function for userCDialog:OnOK();CLibraryDlg dlg;dlg.DoModal();elseAfxMessa
7、geBox(登录失败!);return;主界面模块主界面模块(1)模块的功能通过主界面可以进入每个模块,是各个模块切换和联系的桥梁。主界面力求简单,对每个按钮的功能给予适当简介。从主界面中可以退出系统。(2)界面设计设计界面如图所示其中主要控件的属性、功能及成员变量如图所示。图书信息模块图书信息模块(1)模块的功能图书信息模块主要完成图书信息管理功能,包括浏览、查找、添加、删除和修改。管理员可以根据使用的需要,依次单击对应按钮,来实现这些功能。浏览功能:管理员可以查看全部图书信息。查找功能:因为书籍条码和书籍是一一对应的关系,所以通过书籍条码可以查找到任意一本书的信息并显示出来。添加功能:可以
8、向书籍表中添加新的书籍信息,系统会自动检测新的书籍信息中书籍条码是否在书籍表中存在,确保每本书具有唯一的书籍条码。删除功能:删除界面上当前现实的书籍信息,系统会弹出确认对话框,提示是否确认删除,得到确认后,便会删除该书信息。修改功能:实现对当前信息的修改,为安全起见,系统默认书籍条目不能修改。(2)界面设计设计的界面如图所示:对话框属性设置:IDD_DIALOG_BOOK为IDD_DIALOG_BOOK添加CBookDlg类其中主要控件的属性、功能及成员变量如图所示。(3)添加CCBookDataSet类与书籍信息表连接(3)添加CCBookDataSet类与书籍信息表连接(4)代码编写功能函
9、数:把一些常用的功能封装为成员函数。DisplayRecord对话框各控件显示当先记录:BOOL CBookDlg:DisplayRecord()if(m_rsDataSet.IsEOF()&m_rsDataSet.IsBOF()m_strBookID=;m_strBookName=;m_strPress=;m_strAuthor=;m_strFlag=;m_strPressDate=;elseif(m_rsDataSet.IsBOF()m_rsDataSet.MoveNext();elseif(m_rsDataSet.IsEOF()m_rsDataSet.MovePrev();m_strBo
10、okID=m_rsDataSet.m_BOOK_ID;m_strBookName=m_rsDataSet.m_BOOK_NAME;m_strPress=m_rsDataSet.m_PRESS;m_strAuthor=m_rsDataSet.m_AUTHOR;m_strFlag=m_rsDataSet.m_FLAG_BORROW;m_strPressDate=m_rsDataSet.m_PRESS_DATE;UpdateData(FALSE);return TRUE;SetButtonState根据不同的情况,调整按钮的状态。如:当到首记录的时候,“上一条”按钮无效。BOOL CBookDlg:
11、SetButtonState()CWnd*pWnd;if(!m_rsDataSet.IsOpen()pWnd=GetDlgItem(IDC_FIRST);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_NEXT);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_PRIOR);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_LAST);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_NEW);pWnd-EnableWindow(F
12、ALSE);pWnd=GetDlgItem(IDC_EDIT);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_ENQUERY);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_DELETE);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_SAVE);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_CANCEL_REC);pWnd-EnableWindow(FALSE);return TRUE;if(m_bEdit)pWnd=
13、GetDlgItem(IDC_FIRST);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_NEXT);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_PRIOR);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_LAST);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_NEW);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_EDIT);pWnd-EnableWindow(FALSE
14、);pWnd=GetDlgItem(IDC_ENQUERY);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_DELETE);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_SAVE);pWnd-EnableWindow(TRUE);pWnd=GetDlgItem(IDC_CANCEL_REC);pWnd-EnableWindow(TRUE);return TRUE;if(m_rsDataSet.IsBOF()pWnd=GetDlgItem(IDC_FIRST);pWnd-EnableWindow(FALSE)
15、;pWnd=GetDlgItem(IDC_PRIOR);pWnd-EnableWindow(FALSE);elsepWnd=GetDlgItem(IDC_FIRST);pWnd-EnableWindow(TRUE);pWnd=GetDlgItem(IDC_PRIOR);pWnd-EnableWindow(TRUE);if(m_rsDataSet.IsEOF()pWnd=GetDlgItem(IDC_NEXT);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_LAST);pWnd-EnableWindow(FALSE);elsepWnd=GetDlgIt
展开阅读全文