图书管理系统VC_第1页
图书管理系统VC_第2页
图书管理系统VC_第3页
图书管理系统VC_第4页
图书管理系统VC_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书 NO.1图书管理系统一、课程设计的目的本课程设计主要用于一个图书馆里;包括图图书管理、书借阅信息、书籍资料管理、借阅信息查询、读者查询、新增图书,通过该程序能够简单明了的实现以上功能。之所以选择Visual C+作为开发工具,不仅仅因为曾经有过使用它的经验,看中的更是它的功能强大和使用方便。它本身不仅具有极其强大的编程能力,它允许选择和管理外接程序,这些对Visual C+的扩充又进一步增强了它的开发环境的能力。数据库选择Microsoft SQL Server,不仅因为它为我们提供了一组功能强大的工具,这些工具提供的功能相当完善,能够满足专业开发人员的需要;更重要的是对于我们这种新用户来说,操作方便简单,运行快速安全,十分容易上手,很适合新手使用。 沈 阳 大 学 课程设计说明书 NO.2二设计方案论证.系统总体设计系统开发的总体任务是实现图书信息管理,主要完成的功能有:1. 登陆功能2. 图书管理3. 借阅信息4. 读者查询5. 新增图书图书管理系统登陆功能图书管理借阅信息读者查询新增图书 沈 阳 大 学 课程设计说明书 NO.3.2数据库设计1)逻辑结构图书管理系统数据模型:图书(编号,名称,作者,出版日期,登记日期)管理员(编号,姓名,性别,年龄,工作时间)会员(编号,姓名,性别,家庭住址,联系方式)2)图书信息表字段名称数据类型说明tno文本图书编号tname文本图书名称twriter文本作者姓名tcbs文本出版社名称Tcbrq日期/时间出版日期tdgrq日期/时间登记日期 表1表1为图书信息数据表图书信息数据表记录了图书的基本信息,图书的编号,名称,作者姓名,出版社名称,出版日期,登记日期。3)管理员信息表字段名称数据类型说明gno数字管理员编号gname文本姓名gsex文本管理员性别gage数字管理员年龄ggztime数字工作时间 表2 表2为管理员信息数据表管理员信息数据表记录了管理员的基本信息,管理员的编号,姓名,性别,年龄,工作时间。 沈 阳 大 学 课程设计说明书 NO.44)会员信息表字段名称数据类型说明hno数字会员编号hname文本会员姓名hsex文本会员性别haddress数字家庭住址htel数字联系方式 表3表3为会员信息数据表会员信息数据表记录了会员的基本信息,会员的编号,姓名,性别,家庭住址,联系方式。23可行性分析采用vc+和数据库开发,即使遇到困难,也能从丰富的参考书中找到解决方案。开发出的系统具有图书信息管理的功能,能高效管理图书信息,方便对图书信息的更新、查询等。通过对已有图书信息管理系统的分析和研究比较的方法。“图书信息管理系统”是一种基于集中统一规划的数据库数据管理新模式,是利用数据库软件编制的管理软件。以实现图书信息的录入、更新和查询以及日常工作等多项管理,对整个系统的分析、设计过程做出一个完整论证为目的。2.4结构 沈 阳 大 学 课程设计说明书 NO.5 表4表4为管理员模块,在管理员模式下可以进行的修改密码,信箱管理,天家图书,新书入库,还书管理等管理员功能 表5表5为用户模块,会员模式下用户的功能,如修改密码,信箱管理,个人信息,图书查询等 沈 阳 大 学 课程设计说明书 NO.6三应用软件的实现与运行结果1登陆图书信息管理登陆界面2进入图书管理系统 沈 阳 大 学 课程设计说明书 NO.73图书信息4借阅信息 沈 阳 大 学 课程设计说明书 NO.85.借阅查询6. 读者信息管理 沈 阳 大 学 课程设计说明书 NO.97.归还图书8. 续借图书 沈 阳 大 学 课程设计说明书 NO.109.新增图书 沈 阳 大 学 课程设计说明书 NO.1110.新增读者 沈 阳 大 学 课程设计说明书 NO.12四设计体会计算机具有强大的功能,它现已应用于各行各业,在人们生活的各个领域起着非常重要的作用。它的高速运算能力极大的提高了工作效率,把人们从浩瀚的计算中解放出来,并且在高、尖的大型科学计算和大型信息处理及运算需求高的领域发挥着重要的作用。计算机在人们的日常生活中能帮助人们发送邮件,网上购物,远程学习,休闲娱乐,使人们的生活变得快捷方便,它推动了人类社会的发展与进步,对人类社会生产生活的各个领域产生了极其深刻的影响。正是因为计算机有这些强大的功能,学习计算机知识与计算机交流才显得尤为重要。因此学习vc语言就显得更为重要,vc语言作为国际上广泛流行的通用程序设计语言,在计算机的研究和应用中已展现出强大的生命力。vc语言兼顾了诸多高级语言的特点。通过此次图书管理系统的设计,使我对VC+程序设计有了深一步的了解,对系统设计及开发有了比较全面的思路。首先,通过对系统进行需求分析,确定各个功能函数;然后一个个具体地对他们进行编程,并且仔细检查看是否有错;在完成这一步之后才开始构造主函数,通过主函数把各个功能函数联系起来,编译修改错误和不足之处在实际编程过程中会遇到很多不同的错误,有时候是一些很明显很细节的语法错误,这些可以通过编译来查找错误的所在,然而那些并不明显难以查找的隐性错误却真让人头痛。同时我翻阅了大量的书籍,也在网上查了很多资料。总之,此次系统设计给我们提供了一个既动手又动脑、自学、独立实践的机会,使我们养成了勤翻阅各种相关资料的习惯,将书本上的理论知识和实际有机地结合起来,锻炼了实际分析问题和解决问题的能力,提高了适应实际、实践编程的能力,为今后的学习和实践打下了良好的基础。 沈 阳 大 学 课程设计说明书 NO.13五参考文献1 刘新民,蔡琼,白康生编著.Visual Basic 6.0程序设计M.清华大学出版社,20042 张海荣编著. Visual C+ 实用教程(第2版)M.电子工业出版社.20043 魏亮,李春葆编著.Visual C+程序设计例学与实践.清华大学出版社,20064 刘瑞,吴跃进,王宗越编著.Visual C+项目开发实用案例.科学出版社.20065 孙鑫,许安萍编著.VC+深入详解. 电子工业出版社.2006 沈 阳 大 学 课程设计说明书 NO.14六附录图书管理系统源代码#include stdafx.h#include LMSystem.h#include AddBookManage.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAddBookManage dialogCAddBookManage:CAddBookManage(CWnd* pParent /*=NULL*/): CDialog(CAddBookManage:IDD, pParent)/AFX_DATA_INIT(CAddBookManage)m_actorEdit = _T();m_bookIDEdit = _T();m_bookNameEdit = _T();m_bookTypeEdit = _T();m_positionEdit = _T();m_yearEdit = _T();m_ISBNEdit = _T();/AFX_DATA_INITvoid CAddBookManage:DoDataExchange(CDataExchange* pDX) 沈 阳 大 学 课程设计说明书 NO.15CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAddBookManage)DDX_Control(pDX, IDC_POSITIONEDIT, m_ctrPosition);DDX_Control(pDX, IDC_YEAREDIT, m_ctrYear);DDX_Control(pDX, IDC_BOOKTYPEEDIT, m_ctrBookType);DDX_Control(pDX, IDC_BOOKNAMEEDIT, m_ctrBookName);DDX_Control(pDX, IDC_BOOKLIST, m_bookList);DDX_Control(pDX, IDC_BOOKIDEDIT, m_ctrBookIDEdit);DDX_Control(pDX, IDC_ACTOREDIT, m_ctrActorEdit);DDX_Text(pDX, IDC_ACTOREDIT, m_actorEdit);DDX_Text(pDX, IDC_BOOKIDEDIT, m_bookIDEdit);DDX_Text(pDX, IDC_BOOKNAMEEDIT, m_bookNameEdit);DDX_Text(pDX, IDC_BOOKTYPEEDIT, m_bookTypeEdit);DDX_Text(pDX, IDC_POSITIONEDIT, m_positionEdit);DDX_Text(pDX, IDC_YEAREDIT, m_yearEdit);DDX_Text(pDX, IDC_ISBNEDIT, m_ISBNEdit);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAddBookManage, CDialog)/AFX_MSG_MAP(CAddBookManage)ON_EN_KILLFOCUS(IDC_BOOKIDEDIT, OnKillfocusBookidedit)ON_BN_CLICKED(IDC_ADDBUTTON, OnAddbutton)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CAddBookManage message handlersBOOL CAddBookManage:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization hereiFlag=0;DBOpt.DBConnecte(); 沈 阳 大 学 课程设计说明书 NO.16m_bookList.SetExtendedStyle(LVS_EX_GRIDLINES);m_bookList.InsertColumn(0,ISBN编号,LVCFMT_LEFT,120);m_bookList.InsertColumn(1,书名编号,LVCFMT_LEFT,120);/m_bookList.InsertColumn(2,年代,LVCFMT_LEFT,120);/m_bookList.InsertColumn(3,作者,LVCFMT_LEFT,120);/m_bookList.InsertColumn(4,类型,LVCFMT_LEFT,120);/m_bookList.InsertColumn(5,位置,LVCFMT_LEFT,120);return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CAddBookManage:OnKillfocusBookidedit() / TODO: Add your control notification handler code hereUpdateData(TRUE); m_bookList.DeleteAllItems(); CString strSQL; m_bookIDEdit.TrimRight(); strSQL.Format(select * from booktype where ISBN_ID=+m_bookIDEdit+); DBOpt.BookTypeOperate(strSQL); if (DBOpt.curItem=1) m_bookNameEdit=DBOpt.strArrayOne.GetAt(0); m_yearEdit=DBOpt.strArrayTwo.GetAt(0); m_actorEdit=DBOpt.strArrayThree.GetAt(0); m_bookTypeEdit=DBOpt.strArrayFour.GetAt(0);/ m_bookIDEdit=DBOpt.strArrayFive.GetAt(0); iFlag=1; m_ctrActorEdit.EnableWindow(FALSE); m_ctrBookName.EnableWindow(FALSE); m_ctrBookType.EnableWindow(FALSE); m_ctrYear.EnableWindow(FALSE); m_ctrPosition.EnableWindow(FALSE);else 沈 阳 大 学 课程设计说明书 NO.17iFlag=0;m_ctrActorEdit.EnableWindow(TRUE);m_ctrBookName.EnableWindow(TRUE);m_ctrBookType.EnableWindow(TRUE);m_ctrYear.EnableWindow(TRUE); m_ctrPosition.EnableWindow(TRUE);m_bookNameEdit=;m_yearEdit=;m_actorEdit=; m_bookTypeEdit=;m_positionEdit=; strSQL.Format(select * from bookid where ISBN_ID=+m_bookIDEdit+);DBOpt.ReadBookID(strSQL);for(int i=0;iDBOpt.curItem;i+) m_bookList.InsertItem(i,DBOpt.strArrayTwo.GetAt(i) ; m_bookList.SetItemText(i,1,DBOpt.strArrayOne.GetAt(i);strSQL.Format(select * from position where ISBN_ID=+m_bookIDEdit+);CString strAddress;strAddress=DBOpt.ReadPosition(strSQL); for( i=0;iDBOpt.curItem;i+)m_positionEdit=strAddress;UpdateData(FALSE);void CAddBookManage:OnAddbutton() / TODO: Add your control notification handler code hereUpdateData(TRUE);CString strSQL;if (m_ISBNEdit.GetLength()10) 沈 阳 大 学 课程设计说明书 NO.18MessageBox(图书编号为空或长度太长!);return;if (m_bookIDEdit.GetLength()10)MessageBox(ISBN编号为空或长度太长!);return;if(iFlag=0) if (m_bookNameEdit.GetLength()20)MessageBox(书名为空或长度太长,请重新输入!);return;if (m_positionEdit.GetLength()20)MessageBox(书名为空或长度太长,请重新输入!);return;if (m_yearEdit.GetLength()10|m_actorEdit.GetLength()20|m_bookTypeEdit.GetLength()20) MessageBox(年代、作者、图书类型或方位长度太长,请重新输入!);return; strSQL.Format(insert into booktype(ISBN_ID,book_name,yeartime,actor,book_type,allnumber,lastnumber)values(%s,%s,%s,%s,%s,1,1),m_bookIDEdit,m_bookNameEdit,m_yearEdit,m_actorEdit,m_bookTypeEdit); 沈 阳 大 学 课程设计说明书 NO.19DBOpt.ReaderTypeOperate(strSQL); strSQL.Format(insert into position(ISBN_ID,book_position)values(%s,%s),m_bookIDEdit,m_positionEdit); DBOpt.ReaderTypeOperate(strSQL);elsestrSQL.Format(select * from bookid where book_id=%s,m_ISBNEdit);DBOpt.ReadBookID(strSQL);if (DBOpt.curItem0)MessageBox(此书已经存在!);return; strSQL.Format(update booktype set allnumber=allnumber+1,lastnumber=lastnumber+1 where ISBN_ID=%s,m_bookIDEdit); DBOpt.ReaderTypeOperate(strSQL);strSQL.Format(insert into bookid(ISBN_ID,book_id)values(%s,%s),m_bookIDEdit,m_ISBNEdit);DBOpt.ReaderTypeOperate(strSQL);OnKillfocusBookidedit();#if _MSC_VER 1000#pragma once#endif / _MSC_VER 1000/ AddBookManage.h : header file/#include DBOperate.h/ CAddBookManage dialogclass CAddBookManage : public CDialog 沈 阳 大 学 课程设计说明书 NO.20/ Constructionpublic:CAddBookManage(CWnd* pParent = NULL); / standard constructor CDBOperate DBOpt;int iFlag;/ Dialog Data/AFX_DATA(CAddBookManage)enum IDD = IDD_ADDBOOKDIALOG ;CEditm_ctrPosition;CEditm_ctrYear;CEditm_ctrBookType;CEditm_ctrBookName;CListCtrlm_bookList;CEditm_ctrBookIDEdit;CEditm_ctrActorEdit;CStringm_actorEdit;CStringm_bookIDEdit;CStringm_bookNameEdit;CStringm_bookTypeEdit;CStringm_positionEdit;CStringm_yearEdit;CStringm_ISBNEdit;/AFX_DATA/ Overrides/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAddBookManage)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected: 沈 阳 大 学 课程设计说明书 NO.21/ Generated message map functions/AFX_MSG(CAddBookManage)virtual BOOL OnInitDialog();afx_msg void OnKillfocusBookidedit();afx_msg void OnAddbutton();/AFX_MSGDECLARE_MESSAGE_MAP();/AFX_INSERT_LOCATION/ Microsoft Visual C+ will insert additional declarations immediately before the previous line.#endif / !defined(AFX_ADDBOOKMANAGE_H_CBF00BEE_87DD_4CD9_8B61_C31_INCLUDED_)#include stdafx.h#include LMSystem.h#include AdminManage.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAdminManage dialogCAdminManage:CAdminManage(CWnd* pParent /*=NULL*/): CDialog(CAdminManage:IDD, pParent)/AFX_DATA_INIT(CAdminManage)m_editPassward = _T();/AFX_DATA_INITvoid CAdminManage:DoDataExchange(CDataExchange* pDX) 沈 阳 大 学 课程设计说明书 NO.22/ Implementationprotected:/ Generated message map functions/AFX_MSG(CAddBookManage)virtual BOOL OnInitDialog();afx_msg void OnKillfocusBookidedit();afx_msg void OnAddbutton();/AFX_MSGDECLARE_MESSAGE_MAP();/AFX_INSERT_LOCATION/ Microsoft Visual C+ will insert additional declarations immediately before the previous line.#endif / !defined(AFX_ADDBOOKMANAGE_H_CBF00BEE_87DD_4CD9_8B61_C31_INCLUDED_)#include stdafx.h#include LMSystem.h#include AdminManage.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAdminManage dialogCAdminManage:CAdminManage(CWnd* pParent /*=NULL*/): CDialog(CAdminManage:IDD, pParent)/AFX_DATA_INIT(CAdminManage)m_editPassward = _T();/AFX_DATA_INIT 沈 阳 大 学 课程设计说明书 NO.23void CAdminManage:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAdminManage)DDX_Text(pDX, IDC_EDITPASSWARD, m_editPassward);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAdminManage, CDialog)/AFX_MSG_MAP(CAdminManage)ON_BN_CLICKED(IDC_BTNOK, OnBtnok)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CAdminManage message handlersvoid CAdminManage:OnBtnok() / TODO: Add your control notification handler code hereUpdateData();if (m_editPassward.GetLength()10)MessageBox(密码长度不能超过10个字符!);return;if (m_editPassward.GetLength() 1000#pragma once#endif / _MSC_VER 1000/ AdminManage.h : header file/#include DBOperate.h/ CAdminManage dialogclass CAdminManage : public CDialog/ Constructionpublic:CAdminManage(CWnd* pParent = NULL); / standard constructor CDBOperate DBOpt;CString strID;/ Dialog Data/AFX_DATA(CAdminManage)enum IDD = IDD_ADMINMANAGE ;CStringm_editPassward;/AFX_DATA/ Overrides/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAdminManage)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL 沈 阳 大 学 课程设计说明书 NO.25/ Implementationprotected:/ Generated message map functions/AFX_MSG(CAdminManage)afx_msg void OnBtnok();/AFX_MSGDECLARE_MESSAGE_MAP();/AFX_INSERT_LOCATION/ Microsoft Visual C+ will insert additional declarations immediately before the previous line.#endif / !defined(AFX_ADMINMANAGE_H_433F88A2_8B7D_4ED0_A537_1D4A2485C49B_INCLUDED_) 沈 阳 大 学 为搞好山东省交通科学研究所研发基地项目的结算审计工作,我跟踪审计部特针对本项目作如下要求,请各施工单位、供货单位遵照执行:and performance test copies of the record. If necessary, review should be carried out; 4) for spring hangers (included simple spring, hangers and constant support hangers) it should also be recognized as setting and locking of loads. 5) check the surface quality, folded layering and without cracks, rust and other defects. 5) after completion of the test and control drawing number one by one, by series baled. Color alloy steel parts, the parts marking installation location and rotation about the direction you want. 7.3.14. hangers installation 7.3.14.1 hanger layout a. a clear design of hanger should be installed strictly in accordance with t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论