图书管理系统VC++.docx
- 文档编号:10176324
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:21
- 大小:36.89KB
图书管理系统VC++.docx
《图书管理系统VC++.docx》由会员分享,可在线阅读,更多相关《图书管理系统VC++.docx(21页珍藏版)》请在冰豆网上搜索。
图书管理系统VC++
课程设计说明书NO.1
图书管理系统
一、课程设计的目的
本课程设计主要用于一个图书馆里;包括图图书管理、书借阅信息、书籍资料管理、借阅信息查询、读者查询、新增图书,通过该程序能够简单明了的实现以上功能。
之所以选择VisualC++作为开发工具,不仅仅因为曾经有过使用它的经验,看中的更是它的功能强大和使用方便。
它本身不仅具有极其强大的编程能力,它允许选择和管理外接程序,这些对VisualC++的扩充又进一步增强了它的开发环境的能力。
数据库选择MicrosoftSQLServer,不仅因为它为我们提供了一组功能强大的工具,这些工具提供的功能相当完善,能够满足专业开发人员的需要;更重要的是对于我们这种新用户来说,操作方便简单,运行快速安全,十分容易上手,很适合新手使用。
沈阳大学
课程设计说明书NO。
2
二.设计方案论证
2。
1系统总体设计
系统开发的总体任务是实现图书信息管理,主要完成的功能有:
1.登陆功能
2.图书管理
3.借阅信息
4.读者查询
5.新增图书
沈阳大学
课程设计说明书NO。
3
2.2数据库设计
1)逻辑结构
图书管理系统数据模型:
图书(编号,名称,作者,出版日期,登记日期)
管理员(编号,姓名,性别,年龄,工作时间)
会员(编号,姓名,性别,家庭住址,联系方式)
2)图书信息表
字段名称
数据类型
说明
tno
文本
图书编号
tname
文本
图书名称
twriter
文本
作者姓名
tcbs
文本
出版社名称
Tcbrq
日期/时间
出版日期
tdgrq
日期/时间
登记日期
表1
表1为图书信息数据表—图书信息数据表记录了图书的基本信息,图书的编号,名称,作者姓名,出版社名称,出版日期,登记日期。
3)管理员信息表
字段名称
数据类型
说明
gno
数字
管理员编号
gname
文本
姓名
gsex
文本
管理员性别
gage
数字
管理员年龄
ggztime
数字
工作时间
表2
表2为管理员信息数据表—管理员信息数据表记录了管理员的基本信息,管理员的编号,姓名,性别,年龄,工作时间。
沈阳大学
课程设计说明书NO.4
4)会员信息表
字段名称
数据类型
说明
hno
数字
会员编号
hname
文本
会员姓名
hsex
文本
会员性别
haddress
数字
家庭住址
htel
数字
联系方式
表3
表3为会员信息数据表-会员信息数据表记录了会员的基本信息,会员的编号,姓名,性别,家庭住址,联系方式。
2.3可行性分析
采用vc++和数据库开发,即使遇到困难,也能从丰富的参考书中找到解决方案。
开发出的系统具有图书信息管理的功能,能高效管理图书信息,方便对图书信息的更新、查询等.通过对已有图书信息管理系统的分析和研究比较的方法。
“图书信息管理系统”是一种基于集中统一规划的数据库数据管理新模式,是利用数据库软件编制的管理软件。
以实现图书信息的录入、更新和查询以及日常工作等多项管理,对整个系统的分析、设计过程做出一个完整论证为目的。
2。
4结构
沈阳大学
课程设计说明书NO.5
表4
表4为管理员模块,在管理员模式下可以进行的修改密码,信箱管理,天家图书,新书入库,还书管理等管理员功能
表5
表5为用户模块,会员模式下用户的功能,如修改密码,信箱管理,个人信息,图书查询等
沈阳大学
课程设计说明书NO.6
三.应用软件的实现与运行结果
1.登陆
图书信息管理登陆界面
2.进入图书管理系统
沈阳大学
课程设计说明书NO。
7
3.图书信息
4.借阅信息
沈阳大学
课程设计说明书NO.8
5。
借阅查询
6.读者信息管理
沈阳大学
课程设计说明书NO。
9
7.归还图书
8。
续借图书
沈阳大学
课程设计说明书NO.10
9。
新增图书
沈阳大学
课程设计说明书NO。
11
10.新增读者
沈阳大学
课程设计说明书NO。
12
四.设计体会
计算机具有强大的功能,它现已应用于各行各业,在人们生活的各个领域起着非常重要的作用。
它的高速运算能力极大的提高了工作效率,把人们从浩瀚的计算中解放出来,并且在高、尖的大型科学计算和大型信息处理及运算需求高的领域发挥着重要的作用。
计算机在人们的日常生活中能帮助人们发送邮件,网上购物,远程学习,休闲娱乐,使人们的生活变得快捷方便,它推动了人类社会的发展与进步,对人类社会生产生活的各个领域产生了极其深刻的影响。
正是因为计算机有这些强大的功能,学习计算机知识与计算机交流才显得尤为重要.因此学习vc语言就显得更为重要,vc语言作为国际上广泛流行的通用程序设计语言,在计算机的研究和应用中已展现出强大的生命力.vc语言兼顾了诸多高级语言的特点。
通过此次图书管理系统的设计,使我对VC++程序设计有了深一步的了解,对系统设计及开发有了比较全面的思路。
首先,通过对系统进行需求分析,确定各个功能函数;然后一个个具体地对他们进行编程,并且仔细检查看是否有错;在完成这一步之后才开始构造主函数,通过主函数把各个功能函数联系起来,编译修改错误和不足之处
在实际编程过程中会遇到很多不同的错误,有时候是一些很明显很细节的语法错误,这些可以通过编译来查找错误的所在,然而那些并不明显难以查找的隐性错误却真让人头痛。
同时我翻阅了大量的书籍,也在网上查了很多资料。
总之,此次系统设计给我们提供了一个既动手又动脑、自学、独立实践的机会,使我们养成了勤翻阅各种相关资料的习惯,将书本上的理论知识和实际有机地结合起来,锻炼了实际分析问题和解决问题的能力,提高了适应实际、实践编程的能力,为今后的学习和实践打下了良好的基础。
沈阳大学
课程设计说明书NO。
13
五.参考文献
[1]刘新民,蔡琼,白康生编著.VisualBasic6.0程序设计[M]。
清华大学出版社,2004
[2]张海荣编著.VisualC++实用教程(第2版)[M]。
电子工业出版社。
2004
[3]魏亮,李春葆编著.VisualC++程序设计例学与实践。
清华大学出版社 ,2006
[4]刘瑞,吴跃进,王宗越编著.VisualC++项目开发实用案例。
科学出版社。
2006
[5]孙鑫,许安萍编著.VC++深入详解。
电子工业出版社。
2006
沈阳大学
课程设计说明书NO。
14
六.附录
图书管理系统源代码
#include”stdafx.h"
#include”LMSystem。
h"
#include”AddBookManage.h”
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//CAddBookManagedialog
CAddBookManage:
:
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_INIT
}
voidCAddBookManage:
:
DoDataExchange(CDataExchange*pDX)
{
沈阳大学
课程设计说明书NO。
15
CDialog:
:
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_MAP
}
BEGIN_MESSAGE_MAP(CAddBookManage,CDialog)
//{{AFX_MSG_MAP(CAddBookManage)
ON_EN_KILLFOCUS(IDC_BOOKIDEDIT,OnKillfocusBookidedit)
ON_BN_CLICKED(IDC_ADDBUTTON,OnAddbutton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//CAddBookManagemessagehandlers
BOOLCAddBookManage:
:
OnInitDialog()
{
CDialog:
:
OnInitDialog();
//TODO:
Addextrainitializationhere
iFlag=0;
DBOpt。
DBConnecte();
沈阳大学
课程设计说明书NO.16
m_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);
returnTRUE;//returnTRUEunlessyousetthefocustoacontrol
//EXCEPTION:
OCXPropertyPagesshouldreturnFALSE
}
voidCAddBookManage:
:
OnKillfocusBookidedit()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData(TRUE);
m_bookList.DeleteAllItems();
CStringstrSQL;
m_bookIDEdit.TrimRight();
strSQL.Format("select*frombooktypewhereISBN_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.17
iFlag=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*frombookidwhereISBN_ID=’”+m_bookIDEdit+”'");
DBOpt。
ReadBookID(strSQL);
for(inti=0;i curItem;i++) { m_bookList.InsertItem(i,DBOpt.strArrayTwo.GetAt(i)); m_bookList。 SetItemText(i,1,DBOpt。 strArrayOne.GetAt(i)); } strSQL.Format(”select*frompositionwhereISBN_ID='"+m_bookIDEdit+”’"); CStringstrAddress; strAddress=DBOpt.ReadPosition(strSQL); for(i=0;i〈DBOpt。 curItem;i++) { m_positionEdit=strAddress; } UpdateData(FALSE); } voidCAddBookManage: : OnAddbutton() { //TODO: Addyourcontrolnotificationhandlercodehere UpdateData(TRUE); CStringstrSQL; if(m_ISBNEdit。 GetLength()<1||m_ISBNEdit。 GetLength()〉10) { 沈阳大学 课程设计说明书NO。 18 MessageBox(”图书编号为空或长度太长! ”); return; } if(m_bookIDEdit。 GetLength()〈1||m_bookIDEdit。 GetLength()>10) { MessageBox("ISBN编号为空或长度太长! "); return; } if(iFlag==0) { if(m_bookNameEdit。 GetLength()<1||m_bookNameEdit。 GetLength()〉20) { MessageBox("书名为空或长度太长,请重新输入! "); return; } if(m_positionEdit。 GetLength()<1||m_positionEdit。 GetLength()>20) { MessageBox(”书名为空或长度太长,请重新输入! "); return; } if(m_yearEdit.GetLength()>10||m_actorEdit.GetLength()〉20||m_bookTypeEdit。 GetLength()〉20) { MessageBox("年代、作者、图书类型或方位长度太长,请重新输入! "); return; } strSQL.Format(”insertintobooktype(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.19 DBOpt。 ReaderTypeOperate(strSQL); strSQL。 Format("insertintoposition(ISBN_ID,book_position)values('%s','%s’)”,m_bookIDEdit,m_positionEdit); DBOpt.ReaderTypeOperate(strSQL); } else { strSQL。 Format(”select*frombookidwherebook_id='%s’”,m_ISBNEdit); DBOpt。 ReadBookID(strSQL); if(DBOpt。 curItem〉0) { MessageBox("此书已经存在! "); return; } strSQL。 Format("updatebooktypesetallnumber=allnumber+1,lastnumber=lastnumber+1whereISBN_ID='%s’",m_bookIDEdit); DBOpt.ReaderTypeOperate(strSQL); } strSQL。 Format("insertintobookid(ISBN_ID,book_id)values('%s',’%s')",m_bookIDEdit,m_ISBNEdit); DBOpt。 ReaderTypeOperate(strSQL); OnKillfocusBookidedit(); } #if_MSC_VER>1000 #pragmaonce #endif//_MSC_VER>1000 //AddBookManage。 h: headerfile // #include”DBOperate。 h” ///////////////////////////////////////////////////////////////////////////// //CAddBookManagedialog classCAddBookManage: publicCDialog { 沈阳大学 课程设计说明书NO.20 //Construction public: CAddBookManage(CWnd*pParent=NULL);//standardconstructor CDBOperateDBOpt; intiFlag; //DialogData //{{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 //ClassWizardgeneratedvirtualfunctionoverrides //{{AFX_VIRTUAL(CAddBookManage) protected: virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport //}}AFX_VIRTUAL //Implementation protected: 沈阳大学 课程设计说明书NO。 21 //Generatedmessagemapfunctions //{{AFX_MSG(CAddBookManage) virtualBOOLOnInitDialog(); afx_msgvoidOnKillfocusBookidedit(); afx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 VC
![提示](https://static.bdocx.com/images/bang_tan.gif)