图书管理系统实现与开发.docx

上传人:b****4 文档编号:11724382 上传时间:2023-03-31 格式:DOCX 页数:44 大小:295.62KB
下载 相关 举报
图书管理系统实现与开发.docx_第1页
第1页 / 共44页
图书管理系统实现与开发.docx_第2页
第2页 / 共44页
图书管理系统实现与开发.docx_第3页
第3页 / 共44页
图书管理系统实现与开发.docx_第4页
第4页 / 共44页
图书管理系统实现与开发.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

图书管理系统实现与开发.docx

《图书管理系统实现与开发.docx》由会员分享,可在线阅读,更多相关《图书管理系统实现与开发.docx(44页珍藏版)》请在冰豆网上搜索。

图书管理系统实现与开发.docx

图书管理系统实现与开发

图书管理系统是典型的信息管理系统(MIS)的实现与开发

摘要

图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于前者要求建立起数据一致性和完整性强、数据安全性好的库。

而对于后者则要求应用程序功能完备,易使用等特点.采用C++作为开发工具,通过对C++进行深入的学习和应用,主要完成利用图书管理系统对图书记录进行统一管理,包括新增图书记录,更改图书记录,删除图书记录等功能,实现图书管理工作的系统化,规范化和自动化,为图书管理提供便利。

同时是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。

有助于加深对面向对象程序设计中基础理论和基本知识的理解,培养了实践能力,促进理论与实践的结合.

关键字:

图书管理系统;C++;信息管理系统

 

 

Abstract

Booksmanagementsystemmanagementsystemisthetypicalinformationmanagementsystem(MIS),itsdevelopmentmainlyincludesthesettingandmaintenanceofdatabaseandtheprogrammingofthefrontendapplication.Theformerrequiredestablishdataconsistencyandintegrality,datasecuritygoodstorehouse.Forthelatterrequirestheapplicationprogramfunctioncomplete,easytouse,etc.Usingc++asdevelopmenttoolsthroughin-depthstudyofc++andapplications,mainlycompletesusebooksmanagementsystemmanagementsystemofbookrecords,includingnewunifiedmanagement,changebookrecordbooksrecord,delete,realizefunctionssuchasbookrecordbooksmanagementworkofthesystematic,standardizationandautomation,providestheconvenienceforthebooksmanagement.Meanwhileisafterstudyingtheobject-orientedprogramdesigncourseoftimeaftercomprehensivepractice。

Helpdeepenourunderstandingoftheobject—orientedprogrammingbasictheoryandbasicknowledgeunderstanding,cultivatethepracticeability,promotingthecombinationoftheorywithpractice。

Keyword:

booksmanagementsystemmanagementsystem;c++;

informationmanagementsystem

 

Writtenby:

LiYudan

Supervisedby:

MiaoXiufen

 

1需求分析……………………………………………………………………………………1

1.1程序运用的平台………………………………………………………………………1

2整体设计……………………………………………………………………………………2

2。

1书库管理模块…………………………………………………………………………2

2.2获取图书信息……………………………………………………………………………2

2.3设置图书信息……………………………………………………………………………3

2。

4删除图书……………………………………………………………………………………4

2。

5添加图书……………………………………………………………………………………4

2.6借书…………………………………………………………………………………………4

2.7还书…………………………………………………………………………………………5

2.8显示图书状态…………………………………………………………………………5

2。

9查找图书…………………………………………………………………………………5

2.10读者管理模块………………………………………………………………………7

3详细设计……………………………………………………………………………………9

3。

1程序的主要功能………………………………………………………………………9

3.2程序流程图………………………………………………………………………………9

4调试与测试………………………………………………………………………………10

4.1调试测试结果…………………………………………………………………………10

4.2存在的不足与对策、编程体会…………………………………………………14

5总结……………………………………………………………………………………………15

6致谢………………………………………………………………………………………………16

7参考文献………………………………………………………………………………………17

8附录………………………………………………………………………………………………18

 

1需求分析

一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉.在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。

以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。

利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力.我们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选择书和看书上。

为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写本程序以提高图书馆的管理效率.使用该程序之后,工作人员可以查询某位读者的借阅情况,还可以对当前图书馆内图书进行查看,新书上架,旧书下架,删除所有信息等操作。

本次作业设计题目:

“图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理.

图书管理系统是一种基于集中统一规划的数据库数据管理新模式。

在对图书、读者的管理,其实是对图书、读者数据的管理。

本系统的建成无疑会为管理者对图书管理系统提供极大的帮助

1。

1程序运行平台

VC++6。

0

具体操作如下:

该程序是用VC++6。

0制做的,使用MicrosoftVisualC++6。

0运行该程序,具体操作是:

打开MicrosoftVisualC++6.0,菜单栏里点文件→打开工作区→找到“学生成绩管理系统。

dsw"这个文件→打开,或者在资源管理器中双击该文件,此时,VC++6.0会自动打开,并载入该系统相关资源,点击Run命令菜单或者或用快捷键Ctrl+F5运行该程序。

另需要在ODBC中增加名为LibraryDB的图书管理系统的数据源.

 

2整体设计

2.1图书管理模块

该模块实现图书信息的管理,如图书上架、旧书下架、图书查找、图书信息更新、删除所有图书信息。

2.1.1图书类,实现对图书的描述,图书的编号,书名,借出,还入等功能

private:

inttag;//

intno;//图书编号

charname[20];//书名

charauthor[20];//作者

charcbs[20];//出版社

intcbtime;//出版时间

doublebookprice;//图书价格

intonshelf;//是否再架1:

再架2:

已借出

public:

Book(){;}

char*getname()

2。

1。

2图书库类,实现对图书的维护,查找,删除等

classBDatabase

{//图书库类,实现对图书的维护,查找,删除等

private:

inttop;//图书记录指针

Bookbook[Maxb];//图书记录

public:

2。

2获取图书信息

char*getname()

{//获取书名

returnname;

}

char*getauthorname()

{//获取作者名

returnauthor;

char*getcbsname()

{//获取出版社名

returncbs;

intgetcbtime()

{//获取出版时间

returncbtime;

}

doublegetbookprice()

{//获取图书价格

returnbookprice;

intgetno()

{//获取图书编号

returnno;

intgettag()

{//获取删除标记

returntag;

2.3设置图书信息

voidsetname(charna[])

{//设置书名

strcpy(name,na);

voidsetauthorname(charaa[])

{//设置作者名

strcpy(author,aa);

voidsetcbs(charca[])

{//设置出版社

strcpy(cbs,ca);

}

voidsetcbtime(inttime)

{//设置时间

cbtime=time;

voidsetbookprice(doubleprice)

{//设置图书价格

bookprice=price;

voidsetonshelf(intoa)

{

onshelf=oa;

2.4删除图书

voiddelbook()

{//删除图书

chari;

cout<〈"确定删除吗?

Y/N?

"〈

cin>〉i;

if(i=='y’||i==’Y')

tag=1;

2.5添加图书

voidaddbook(intn,char*na,char*aa,char*ca,inttime,doubleprice,intoa)

{//增加图书

tag=0;

no=n;

strcpy(name,na);

strcpy(author,aa);

strcpy(cbs,ca);

cbtime=time;

bookprice=price;

onshelf=oa;

2。

6借书

intborrowbook()

{//借书操作

if(onshelf>0)

{

onshelf-—;

return1;

return0;

}

2。

7还书

voidretbook()

{//还书操作

onshelf++;

2.8显示图书状态

voiddisp()

{//输出图书

cout<

};

2。

9查找图书

Book*query1(intbookid)

{//按编号查找图书

for(inti=0;i<=top;i++)

if(book[i]。

getno()==bookid&&book[i].gettag()==0)

{

return&book[i];

returnNULL;

}

Book*query2(chara[])

{//按书名查找图书

Book*e;

intr=0;

for(inti=0;i〈=top;i++)

if(strcmp(book[i]。

getname(),a)==0&&book[i]。

gettag()==0)

if(r==0)

cout<

e=&book[i];

e-〉disp();

r++;

}

if(r==0)

cout<<"找不到该书!

"<〈endl;

returnNULL;

}

Book*query3(chara[])

{//按作者查找图书

Book*e;

intr=0;

for(inti=0;i〈=top;i++)

if(strcmp(book[i].getauthorname(),a)==0&&book[i]。

gettag()==0)

{

if(r==0)

cout<〈setw(6)〈<”编号”<

e=&book[i];

e->disp();

r++;

if(r==0)

cout<〈”找不到该书!

”〈〈endl;

returnNULL;

}

Book*query4(chara[])

{//按出版社查找图书

Book*e;

intr=0;

for(inti=0;i〈=top;i++)

if(strcmp(book[i].getcbsname(),a)==0&&book[i].gettag()==0)

if(r==0)cout〈

e=&book[i];

e-〉disp();

r++;

}

if(r==0)

cout〈〈"找不到该书!

"<

returnNULL;

}

2.10读者管理模块

classReader

{//读者的信息描述

private:

inttag;//删除标记1表示已删0表示未删

intno;//读者编号

charname[20];//读者姓名

intborbook[Maxbor];//所借图书

public:

Reader()//构造函数

{;}

2.10.1获取读者信息

char*getname()

{//获取姓名

returnname;

}

intgettag()

{//获取删除标记

returntag;

intgetno()

{//获取读者编号

returnno;

}

2。

10。

2设置读者信息

voidsetname(charna[])

{//设置姓名

strcpy(name,na);

}

voiddelbook()

{//设置删除标记1:

已删0:

未删

chari;

cout<<"确定删除吗?

Y/N?

”〈

cin>〉i;

if(i==’y’||i==’Y')

tag=1;

}

2.10。

3添加读者信息

voidaddreader(intn,char*na)

{//增加读者

tag=0;

no=n;

strcpy(name,na);

for(inti=0;i

borbook[i]=0;

 

3详细设计

3.1程序的主要功能

通过一个conio类对图书馆书籍进行管理。

通过这个管理功能实现对学校书库中书籍数据的输入输出。

比如增添某些书籍,删除某些书籍等操作.

通过fstream类对图书数据的读取,写入进行管理.比如读者借书时显示所有图书信息,以及还书时的某些操作。

3.2程序流程图

开始菜单

管理员菜单

读者菜单

添删

加除

图图

书书

添删

加除

读读

者者

借还查查

看看

所自

有身

图信

书书书息

读者

管理员

图书维护

读者维护

后退

后退

后退

后退

后退

 

4调试与测试

4。

1调试测试结果

4.1.1开始运行

4。

1.2添加图书

4。

1。

3更改图书信息

 

4。

1.4删除图书

4.1.5查找图书

4。

1.6显示图书状态

4.1。

7全部删除

4.1.8返回

4。

2存在的不足与对策、编程体会

因为掌握的知识有限没能实现自动读取当前日期为借书日期并进行系统自行累加实现还书日期自动生成功能

通过编写图书管理系统,我体会到了一个系统应该作为一个整体来看待,系统具有牵一发而动全身的特性,某一个模块的一个小小错误都可能导致系统其他模块功能的丧失甚至是崩溃,同时在编程时应该按照模块来编写,一个模块实现一个功能,这样在调试的时候就方便检查,还有一个程序写完了,不是真正的结束,还需要不断地调试不断地修改程序中的错误。

在编程中出现了一个致命的错误:

我在程序中定义了几个函数但是忘记了使用引用导致了最后编译是出现了重大错误,经过好几个小时的仔细排查终于找到了问题所在.

所以此次编程我最大的一个收获是:

仔细研究每一个函数的定义,不要出现定义中形参缺少或者实参形参形式不符出现的错误

 

5总结

本系统实现了图书管理系统的典型功能,包括查询所有记录的信息,添加查找等功能,而且具有较高的安全性。

但是因为自己独立完成且能力有限,还有部分功能未能完善,例如对书名,编号的排序等等,这些局限性都是有待逐步完善的方面。

而且通过这次课程设计,我培养了自己对C++编程的兴趣,编程能力也有所提高,但仍存在许多不足,不能独自写出功能很齐全的代码,写代码要参考很多资料,所以今后应培养自己独立写代码的能力.

大一的课程即将结束,程序设计课程设计开始了,但是我发现它并没有我想象的那么容易,从一开始刚刚接触程序设计课程设计的时候我都不知道这是干什么的,对着电脑愣了半天不知道要干什么,后来我询问了一下大二计算机专业的学长,他告诉我了一些知识,同时我的老师给了我们一些指导,同学们也是互帮互助,所以我对这门课程有了进一步的了解.

我要感谢学校给我提供的良好的环境,让我们可以在机房好好的学习。

同时感谢老师对我的指导和帮助,感谢高年级哥哥姐姐给我的鼓励让我逐渐有了信心,也感谢帮助我的同学们.

是你们对我的帮助和耐心指导,让我有信心完成这次作业,是你们给了我信心,也给了我无尽的希望。

 

6致谢

大一的课程即将结束,程序设计课程设计开始了,但是我发现它并没有我想象的那么容易,从一开始刚刚接触程序设计课程设计的时候我都不知道这是干什么的,对着电脑愣了半天不知道要干什么,后来我询问了一下大二计算机专业的学长,他告诉我了一些知识,同时我的老师给了我们一些指导,同学们也是互帮互助,所以我对这门课程有了进一步的了解。

我要感谢学校给我提供的良好的环境,让我们可以在机房好好的学习。

同时感谢老师对我的指导和帮助,感谢高年级哥哥姐姐给我的鼓励让我逐渐有了信心,也感谢帮助我的同学们。

是你们对我的帮助和耐心指导,让我有信心完成这次作业,是你们给了我信心,也给了我无尽的希望。

 

7参考文献

[1]谭浩强《C++面向对象程序设计》北京:

清华大学出版社,2006

[2]谭浩强《C++程序设计实践指导》北京:

清华大学出版社,2005

[3]刘玉英、张怡芳等《C++实验指导与课程设计》人民邮电出版社,2007

 

8附录

程序源代码

#include〈iostream.h〉

#include

h>//控制台数据输入输出的函数

#include〈fstream.h〉//文件流

#include//控制数据输出格式

#include〈string。

h〉

constintMaxr=100;//最多的读者数

constintMaxb=100;//最多的图书数

constintMaxbor=5;//每位读者最多借的书

classBook

{//图书类,实现对图书的描述,图书的编号,书名,借出,还入等功能

private:

inttag;//

intno;//图书编号

charname[20];//书名

charauthor[20];//作者

charcbs[20];//出版社

intcbtime;//出版时间

doublebookprice;//图书价格

intonshelf;//是否再架1:

再架2:

已借出

public:

Book(){;}

char*getname()

{//获取书名

returnname;

char*getauthorname()

{//获取作者名

returnauthor;

char*getcbsname()

{//获取出版社名

returncbs;

intgetcbtime()

{//获取出版时间

returncbtime;

}

doublegetbookprice()

{//获取图书价格

returnbookprice;

}

intgetno()

{//获取图书编号

returnno;

intgettag()

{//获取删除标记

returntag;

voidsetname(charna[])

{//设置书名

strcpy(name,na);

voidsetauthorname(charaa[])

{//设置作者名

strcpy(author,aa);

voidsetcbs(charca[])

{//设置出版社

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1