VC课程设计(论文)图书管理系统.doc

上传人:文库蛋蛋多 文档编号:2385681 上传时间:2023-02-17 格式:DOC 页数:26 大小:822KB
返回 下载 相关 举报
VC课程设计(论文)图书管理系统.doc_第1页
第1页 / 共26页
VC课程设计(论文)图书管理系统.doc_第2页
第2页 / 共26页
VC课程设计(论文)图书管理系统.doc_第3页
第3页 / 共26页
VC课程设计(论文)图书管理系统.doc_第4页
第4页 / 共26页
VC课程设计(论文)图书管理系统.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《VC课程设计(论文)图书管理系统.doc》由会员分享,可在线阅读,更多相关《VC课程设计(论文)图书管理系统.doc(26页珍藏版)》请在三一办公上搜索。

1、课程设计说明书 NO.1图书管理系统一、课程设计的目的本课程设计主要用于一个图书馆里;包括图图书管理、书借阅信息、书籍资料管理、借阅信息查询、读者查询、新增图书,通过该程序能够简单明了的实现以上功能。之所以选择Visual C+作为开发工具,不仅仅因为曾经有过使用它的经验,看中的更是它的功能强大和使用方便。它本身不仅具有极其强大的编程能力,它允许选择和管理外接程序,这些对Visual C+的扩充又进一步增强了它的开发环境的能力。数据库选择Microsoft SQL Server,不仅因为它为我们提供了一组功能强大的工具,这些工具提供的功能相当完善,能够满足专业开发人员的需要;更重要的是对于我们

2、这种新用户来说,操作方便简单,运行快速安全,十分容易上手,很适合新手使用。 沈 阳 大 学 课程设计说明书 NO.2二设计方案论证.系统总体设计系统开发的总体任务是实现图书信息管理,主要完成的功能有:1. 登陆功能2. 图书管理3. 借阅信息4. 读者查询5. 新增图书图书管理系统登陆功能图书管理借阅信息读者查询新增图书 沈 阳 大 学 课程设计说明书 NO.3.2数据库设计1)逻辑结构图书管理系统数据模型:图书(编号,名称,作者,出版日期,登记日期)管理员(编号,姓名,性别,年龄,工作时间)会员(编号,姓名,性别,家庭住址,联系方式)2)图书信息表字段名称数据类型说明tno文本图书编号tna

3、me文本图书名称twriter文本作者姓名tcbs文本出版社名称Tcbrq日期/时间出版日期tdgrq日期/时间登记日期 表1表1为图书信息数据表图书信息数据表记录了图书的基本信息,图书的编号,名称,作者姓名,出版社名称,出版日期,登记日期。3)管理员信息表字段名称数据类型说明gno数字管理员编号gname文本姓名gsex文本管理员性别gage数字管理员年龄ggztime数字工作时间 表2 表2为管理员信息数据表管理员信息数据表记录了管理员的基本信息,管理员的编号,姓名,性别,年龄,工作时间。 沈 阳 大 学 课程设计说明书 NO.44)会员信息表字段名称数据类型说明hno数字会员编号hnam

4、e文本会员姓名hsex文本会员性别haddress数字家庭住址htel数字联系方式 表3表3为会员信息数据表会员信息数据表记录了会员的基本信息,会员的编号,姓名,性别,家庭住址,联系方式。23可行性分析采用vc+和数据库开发,即使遇到困难,也能从丰富的参考书中找到解决方案。开发出的系统具有图书信息管理的功能,能高效管理图书信息,方便对图书信息的更新、查询等。通过对已有图书信息管理系统的分析和研究比较的方法。“图书信息管理系统”是一种基于集中统一规划的数据库数据管理新模式,是利用数据库软件编制的管理软件。以实现图书信息的录入、更新和查询以及日常工作等多项管理,对整个系统的分析、设计过程做出一个完

5、整论证为目的。2.4结构 沈 阳 大 学 课程设计说明书 NO.5 表4表4为管理员模块,在管理员模式下可以进行的修改密码,信箱管理,天家图书,新书入库,还书管理等管理员功能 表5表5为用户模块,会员模式下用户的功能,如修改密码,信箱管理,个人信息,图书查询等 沈 阳 大 学 课程设计说明书 NO.6三应用软件的实现与运行结果1登陆图书信息管理登陆界面2进入图书管理系统 沈 阳 大 学 课程设计说明书 NO.73图书信息4借阅信息 沈 阳 大 学 课程设计说明书 NO.85.借阅查询6. 读者信息管理 沈 阳 大 学 课程设计说明书 NO.97.归还图书8. 续借图书 沈 阳 大 学 课程设计

6、说明书 NO.109.新增图书 沈 阳 大 学 课程设计说明书 NO.1110.新增读者 沈 阳 大 学 课程设计说明书 NO.12四设计体会计算机具有强大的功能,它现已应用于各行各业,在人们生活的各个领域起着非常重要的作用。它的高速运算能力极大的提高了工作效率,把人们从浩瀚的计算中解放出来,并且在高、尖的大型科学计算和大型信息处理及运算需求高的领域发挥着重要的作用。计算机在人们的日常生活中能帮助人们发送邮件,网上购物,远程学习,休闲娱乐,使人们的生活变得快捷方便,它推动了人类社会的发展与进步,对人类社会生产生活的各个领域产生了极其深刻的影响。正是因为计算机有这些强大的功能,学习计算机知识与计

7、算机交流才显得尤为重要。因此学习vc语言就显得更为重要,vc语言作为国际上广泛流行的通用程序设计语言,在计算机的研究和应用中已展现出强大的生命力。vc语言兼顾了诸多高级语言的特点。通过此次图书管理系统的设计,使我对VC+程序设计有了深一步的了解,对系统设计及开发有了比较全面的思路。首先,通过对系统进行需求分析,确定各个功能函数;然后一个个具体地对他们进行编程,并且仔细检查看是否有错;在完成这一步之后才开始构造主函数,通过主函数把各个功能函数联系起来,编译修改错误和不足之处在实际编程过程中会遇到很多不同的错误,有时候是一些很明显很细节的语法错误,这些可以通过编译来查找错误的所在,然而那些并不明显

8、难以查找的隐性错误却真让人头痛。同时我翻阅了大量的书籍,也在网上查了很多资料。总之,此次系统设计给我们提供了一个既动手又动脑、自学、独立实践的机会,使我们养成了勤翻阅各种相关资料的习惯,将书本上的理论知识和实际有机地结合起来,锻炼了实际分析问题和解决问题的能力,提高了适应实际、实践编程的能力,为今后的学习和实践打下了良好的基础。 沈 阳 大 学 课程设计说明书 NO.13五参考文献1 刘新民,蔡琼,白康生编著.Visual Basic 6.0程序设计M.清华大学出版社,20042 张海荣编著. Visual C+ 实用教程(第2版)M.电子工业出版社.20043 魏亮,李春葆编著.Visual

9、 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 di

10、alogCAddBookManage: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

11、: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_ctrBook

12、Name);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_B

13、OOKTYPEEDIT, 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_

14、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.In

15、sertColumn(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

16、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 *

17、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.Ge

18、tAt(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_ctrBookTy

19、pe.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.InsertIt

20、em(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 CAddBookMan

21、age: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)Me

22、ssageBox(书名为空或长度太长,请重新输入!);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

23、,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.ReaderTypeOp

24、erate(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);st

25、rSQL.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 CD

26、ialog 沈 阳 大 学 课程设计说明书 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;CEdi

27、tm_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 D

28、oDataExchange(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_INSE

29、RT_LOCATION/ Microsoft Visual C+ will insert additional declarations immediately before the previous line.#endif / !defined(AFX_ADDBOOKMANAGE_H_CBF00BEE_87DD_4CD9_8B61_134915710C31_INCLUDED_)#include stdafx.h#include LMSystem.h#include AdminManage.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEs

30、tatic 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/ Implementationpro

31、tected:/ 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

32、.#endif / !defined(AFX_ADDBOOKMANAGE_H_CBF00BEE_87DD_4CD9_8B61_134915710C31_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*

33、/): 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_ME

34、SSAGE_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()=0)MessageBox(密码不能为空!);return;CString strSQL;strSQL.Format(update admin set passward=%s where userid=%s,m_editPassward,strID); DBOpt.UpatePassward(strSQL); CDialog:OnOK();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号