C++课程设计报告数据库应用的图书管理系统.docx
- 文档编号:1290678
- 上传时间:2022-10-20
- 格式:DOCX
- 页数:64
- 大小:60.90KB
C++课程设计报告数据库应用的图书管理系统.docx
《C++课程设计报告数据库应用的图书管理系统.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告数据库应用的图书管理系统.docx(64页珍藏版)》请在冰豆网上搜索。
C++课程设计报告数据库应用的图书管理系统
南京航空航天大学
《面向对象程序设计语言》课程设计报告
图书管理系统
一、需求分析
一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。
在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。
以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。
利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。
我们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选择书和看书上。
为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写本程序以提高图书馆的管理效率。
使用该程序之后,工作人员可以查询某位读者的借阅情况,还可以对当前图书馆内图书进行查看,新书上架,旧书下架,删除所有信息等操作。
本次作业设计题目:
“图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。
图书管理系统是一种基于集中统一规划的数据库数据管理新模式。
在对图书、读者的管理,其实是对图书、读者数据的管理。
本系统的建成无疑会为管理者对图书管理系统提供极大的帮助
二、程序的主要功能
1、管理员账号管理功能:
通过一个IDMa类对图书馆管理员账号进行管理,只能有一个高级管理员,并且不能删除。
通过这个管理功能实现对管理员账号的注册、注销、修改、删除等操作
2、书库信息管理功能:
通过一个BookMa类对图书馆书籍进行管理。
通过这个管理功能实现对学校书库中书籍的管理,如显示全部图书信息、新书上架、旧书下架、书籍查询、清除书库等操作
3、读者管理功能:
通过一个ReaderMa类对图书馆读者进行管理。
通过这个管理功能实现对学校读者中读者记录的管理,如显示全部读者信息、读者注册、读者注销、通过学号查询读者信息并显示借阅信息、清除所有读者信息等操作
4、借书还书功能:
通过一个Borrow_Return类对读者借还书进行管理。
三、程序运行平台
VC
具体操作如下:
该程序是用VC++6.0制做的,使用运行该程序,具体操作是:
打开,菜单栏里点文件→打开工作区→找到“学生成绩管理系统.dsw”这个文件→打开,或者在资源管理器中双击该文件,此时,VC++6.0会自动打开,并载入该系统相关资源,点击Run命令菜单或者或用快捷键Ctrl+F5运行该程序。
另需要在ODBC中增加名为LibraryDB的图书管理系统的数据源。
四、系统总框架图
五、程序类的说明
#ifndef_ABSTRACT_H
#define_ABSTRACT_H
/*定义一个抽象类具有显示信息、增加信息、修改信息、删除信息四个纯虚函数
这个Abstract类将被ReaderMa、BookMa两个子类继承*/
classAbstract
{
public:
virtualvoidShowInfo()=0;//显示信息纯虚函数
virtualvoidAddInfo()=0;//增加信息纯虚函数
virtualvoidSelectInfo()=0;//查找信息纯虚函数
virtualvoidEditInfo()=0;//修改信息纯虚函数
virtualvoidDeleteInfo()=0;//删除信息纯虚函数
};
#endif
∙BookMa类的声明
#ifndef_BOOKMA_H
#define_BOOKMA_H
#include"Abstract.h"
#include
#include
usingnamespacestd;
//封装一个BookMa类继承于Abstract,用于书籍的管理,实现显示、增加、修改、删除、清楚所有书籍信息的功能
classBookMa:
publicAbstract
{
public:
voidManage();//书库管理界面,可用this指针应用自身函数
voidShowInfo();//显示
voidAddInfo();//增加
voidSelectInfo();//查找
voidEditInfo();//修改
voidDeleteInfo();//删除
voidClean_allInfo();//清除
};
#endif
∙Borrow_Return类的声明
#ifndef_BORROW_RETURN_H
#define_BORROW_RETURN_H
#include
//封装一个Borrow_Return类实现读者借书还书的操作
classBorrow_Return
{
public:
voidBorrow();//借书
voidReturn();//还书
voidManage();//借书还书的界面
};
#endif
∙IDMa类的声明
#ifndef_IDMA_H
#define_IDMA_H
#include"Abstract.h"
#include"DataBase.h"
#include
usingnamespacestd;
//定义一个IDMa类继承于Abstract抽象类,实现对管理员信息的管理功能
classIDMa:
publicAbstract
{
public:
voidManage();//管理员账号管理界面
voidShowInfo();//显示所有管理员信息
voidAddInfo();//增加管理员信息
voidSelectInfo();//查找管理员信息
voidEditInfo();//修改管理员信息
voidDeleteInfo();//删除管理员信息
};
#endif
∙ManagerMa类的声明
#ifndef_MANAGERMA_H
#define_MANAGERMA_H
/*定义一个ManagerMa类*/
classManagerMa
{
public:
voidManage();//图书馆管理系统的主界面
};
#endif
∙ReaderMa类的声明
#ifndef_READERMA_H
#define_READERMA_H
#include"Abstract.h"
#include
#include
usingnamespacestd;
/*封装一个读者管理类,实现对读者信息的显示、增加、修改、删除及清除所有读者信息的功能*/
classReaderMa:
publicAbstract
{
public:
voidManage();//读者管理界面可用this指针应用自身函数
voidShowInfo();//显示
voidAddInfo();//增加
voidSelectInfo();//查找
voidEditInfo();//修改
voidDeleteInfo();//删除
voidClean_allInfo();//清除
};
#endif
六、模块分析
1.读者信息模块
该模块实现读者信息的管理,如读者注册、读者注销、读者信息查找、读者信息更新、删除所有读者信息。
2.书库管理模块
该模块实现图书信息的管理,如图书上架、旧书下架、图书查找、图书信息更新、删除所有图书信息。
3.管理员账号管理模块
该模块实现管理员账号的管理,如管理员注册、账号注销、显示管理员信息、修改密码。
4.借书还书模块
该模块实现读者借书还书功能利用SQL语句对数据库进行操作
七、比较有特色的地方
1、使用sql语句实现对Access数据库进行操作,这样大大方便了对数据的管理
2、使用了windows.h库中的MessageBox函数,实现一些操作的提醒、警告等
3、由于IDMa,BookMa,ReaderMa都将用到增加记录,删除记录,查找,修改记录功能所以定义了一个共同的抽象基类Abstract
#ifndef_ABSTRACT_H
#define_ABSTRACT_H
/*定义一个抽象类具有显示信息、增加信息、修改信息、删除信息四个纯虚函数
这个Abstract类将被ReaderMa、BookMa两个子类继承*/
classAbstract
{
public:
virtualvoidShowInfo()=0;//显示信息纯虚函数
virtualvoidAddInfo()=0;//增加信息纯虚函数
virtualvoidSelectInfo()=0;//查找信息纯虚函数
virtualvoidEditInfo()=0;//修改信息纯虚函数
virtualvoidDeleteInfo()=0;//删除信息纯虚函数
};
#endif
4、将CDataBase和CRecordset类定义成一个DataBase方便对sql语句的执行
#ifndefDATABASE_H
#defineDATABASE_H
#include
classDataBase
{
public:
DataBase();
~DataBase()
{
crRS.Close();
cdDB.Close();
}
BOOLExcuteSQL(constCString&SQLStmt);
voidExcuteSelectSql(constCString&SQLStmt);
BOOLMoveFirst();
BOOLMoveNext();
BOOLMovePre();
BOOLMoveLast();
BOOLIsEOF();
BOOLIsBOF();
intGetRecordCount();
intGetRecordQuantity();
BOOLGetFieldValue(shortnIndex,CString&strVslue);
voidCloseConnect();
voidConnectToDBQ();
staticvoidSetDBPath(constCStringcstrDBPath){DataBase:
:
strDBPath=cstrDBPath;}
protected:
staticCStringstrDBPath;
CDatabasecdDB;
CRecordsetcrRS;
};
externDataBaseLibManDB;
#endif
八、存在的不足与对策、编程体会
因为掌握的知识有限没能实现自动读取当前日期为借书日期并进行系统自行累加实现还书日期自动生成功能
通过编写图书管理系统,我体会到了一个系统应该作为一个整体来看待,系统具有牵一发而动全身的特性,某一个模块的一个小小错误都可能导致系统其他模块功能的丧失甚至是崩溃,同时在编程时应该按照模块来编写,一个模块实现一个功能,这样在调试的时候就方便检查
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 报告 数据库 应用 图书 管理 系统