图书管理程序课程设计报告模板.docx

上传人:b****6 文档编号:14032666 上传时间:2023-06-20 格式:DOCX 页数:27 大小:985.17KB
下载 相关 举报
图书管理程序课程设计报告模板.docx_第1页
第1页 / 共27页
图书管理程序课程设计报告模板.docx_第2页
第2页 / 共27页
图书管理程序课程设计报告模板.docx_第3页
第3页 / 共27页
图书管理程序课程设计报告模板.docx_第4页
第4页 / 共27页
图书管理程序课程设计报告模板.docx_第5页
第5页 / 共27页
图书管理程序课程设计报告模板.docx_第6页
第6页 / 共27页
图书管理程序课程设计报告模板.docx_第7页
第7页 / 共27页
图书管理程序课程设计报告模板.docx_第8页
第8页 / 共27页
图书管理程序课程设计报告模板.docx_第9页
第9页 / 共27页
图书管理程序课程设计报告模板.docx_第10页
第10页 / 共27页
图书管理程序课程设计报告模板.docx_第11页
第11页 / 共27页
图书管理程序课程设计报告模板.docx_第12页
第12页 / 共27页
图书管理程序课程设计报告模板.docx_第13页
第13页 / 共27页
图书管理程序课程设计报告模板.docx_第14页
第14页 / 共27页
图书管理程序课程设计报告模板.docx_第15页
第15页 / 共27页
图书管理程序课程设计报告模板.docx_第16页
第16页 / 共27页
图书管理程序课程设计报告模板.docx_第17页
第17页 / 共27页
图书管理程序课程设计报告模板.docx_第18页
第18页 / 共27页
图书管理程序课程设计报告模板.docx_第19页
第19页 / 共27页
图书管理程序课程设计报告模板.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图书管理程序课程设计报告模板.docx

《图书管理程序课程设计报告模板.docx》由会员分享,可在线阅读,更多相关《图书管理程序课程设计报告模板.docx(27页珍藏版)》请在冰点文库上搜索。

图书管理程序课程设计报告模板.docx

图书管理程序课程设计报告模板

北京理工大学珠海学院

课程设计说明书

_2011_—_2012_学年第_2_学期

题目:

图书管理程序

学院:

计算机学院

专业班级:

11计算机科学与技术X班

学号:

XXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXX

学生姓名:

  xx

XX

指导教师:

XXX   

成绩:

   

时间:

   

XXXX年X月xX日

 

北京理工大学珠海学院

课程设计任务书

2011~2012学年第2学期

学生姓名:

XXXXX专业班级:

XX计算机科学与技术XX班

指导教师:

XXXXX工作部门:

计算机学院

一、课程设计题目

图书管理程序

二、课程设计内容

使用文本命令行界面;用文件保存图书馆里的图书信息;能实现图书信息的增、删、改、查等功能。

三、进度安排

(1)1-2学时,选定题目、分析需求、理解需求;

(2)3-4学时,程序设计,定义数据类型、数据处理方式;

(3)5-10学时,编写程序、调试、测试;

(4)11-12学时,编写设计报告;

(5)13-16学时,答辩。

四、基本要求

(1)只能使用C++语言,源程序要有适当的注释,使程序容易阅读

(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)

(3)学生可自动增加新功能模块(视情况可另外加分)

(4)建立文件操作类、界面显示类及相关接口类,用文件读写实现。

(5)写出课程设计报告,应不少于3000字(不含附录),同一组学生只需提交1份,但必须在报告中列明分工。

课程负责人签名:

XXXX年X月XX日

课程设计分工安排

姓名

课程设计负责工作

备注

 

课程设计成绩评定表

 

姓名

成绩评定权重

总分

总成绩

(五分制)

平时成绩20

报告成绩50

答辩成绩30

 

图书管理程序

摘要

二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。

如何获取信息?

图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。

迫使人们起用新的管理方法来管理图书,如何把图书管理员从繁重的工作中解脱出来呢?

科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。

信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。

因此,图书管理系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。

从而使人们有更多时间来获取信息、了解信息、掌握信息。

关键词:

图书管理系统工程信息管理系统VC++

第一章设计内容与目标

本图书管理程序将拥有学生和图书两种主要信息。

程序是一个简单的管理程序,主要分为学生信息管理、图书信息管理、借书以及还书和借书查询五个模块。

信息的储存则用到多个dat文件进行写入和读取。

与一般图书管理程序有较大区别的是本程序并未保存学生及图书的编号,所以不存在书名和书号、学生名和学生号的关联,而是根据位置来利用文件流进行读写操作,但是依然可以通过学生号和图书号来查询借阅情况,并且可以查询历史借书记录。

而对于程序的操作方面也将进行相当的简化,不过程序的图书和学生信息的数量存在着上限。

 

第二章总体设计

2.1模块化设计总方案

为实现图书管理程序的系统功能,程序将主要分为五个模块。

他们分别是以下六个模块:

学生信息管理、图书信息管理、借书管理、还书管理、借书查询、历史查询。

这六个函数通过主函数进行调用。

2.2模块功能设计

学生信息管理:

添加修改学生数据、删除学生数据、浏览学生数据

图书信息管理:

添加修改图书数据、删除图书数据、浏览图书数据

借书管理:

借出书本

还书管理:

收回书本

借书查询:

按书号顺序列出所有书目以及借书的学生编号

历史查询:

按时间列出所有借书还书记录

功能结构框图

第三章详细设计

3.1数据结构设计

程序较为简单,仅用十四个dat文件分别保存了十四个数据,主要是学生姓名、图书名字、借书的学生编号以及时间数据。

其中,借书的学生编号原理是一本书只能借给一个学生。

这种方法可以简化数据信息储存,不过相对应的,图书借阅查询被复杂化。

3.2模块接口设计

通过简单的函数调用把模块连接起来。

主函数中,将显示“1借书”、“2还书”、“3图书管理”、“4学生管理”、“5借书查询”、“6历史记录”五个选项。

管理者通过

 

进行选择,六个选项中各有一个函数调用,分别对应开头

 

所建立的六个函数。

3.3模块实现设计

学生信息管理:

增改学生、删除学生、查看学生、所有学生四个选项。

要储存信息只有学生名字。

增改学生:

增加学生和修改学生。

因为学生名额设置100个为上限,所以学生号设置为1-100。

信息一共只有一个——学生名字,保存在文件“a1.dat”中。

如果学生已存在会进行提示。

具体设计如下

 

通过位置来写入和读取学生的名字。

删除学生:

删除学生首先根据所输入的学生号来读取学生名字,如果学生不存在则不进行删除作业。

具体设计如下

 

判断学生名存不存在

Y

N

 

查看学生:

查看学生因为要把学生所借书号和书名也显示出来,所以过程较为复杂。

方法主要是读取借书学生编号的文件,从头到尾读取数据,当借书学生编号与输入的学生号相同时,记录位置信息,位置信息就是图书的编号。

具体设计如下

读取学生名字。

接着判断学生是否存在

NY

 

读取学生所借书籍

 

Y

N

 

所有学生:

按编号顺序把所有学生名字显示出来。

具体设计如下:

 

图书信息管理:

增改图书、删除图书、查看图书、所有图书四个选项。

其中,增改图书、删除图书、所有图书三个选项实际就是把学生信息管理的增改学生、删除学生、所有学生的代码直接复制过去,把学生信息改为图书信息而已,所以基本上非常相似。

其中,书名信息保存在“b1.dat”

有所不同的是查看图书,因为一本图书只能借给一个学生,所以这里除了显示图书名字外还有如下程序

 

显示此图书的情况。

借书管理:

借书管理是先输入图书编号

 

接着会自动读取文件显示图书名字,并判断图书是否存在和是否在。

然后在输入借书的学生编号就可以完成借书。

学生所借书的数量并没有设置上限。

至于已经借出的书自然是不能在借出的。

 

比较重要的是,本程序是可以查看借书还书的历史记录的,而且时间精确到秒。

所以在借书管理和还书管理中会有记录时间的代码,其中,年、月、日、时、分、秒分别保存在六个文件中。

具体设计如下

 

还书管理:

先输入图书编号。

 

接着会自动读取文件显示图书名字,并判断图书是否已被借走。

然后还书管理会自动完成。

 

至于接下来的是和借书管理一样的时间记录,唯一不同的是输出到“c3.dat”文件中的不是“1”,而是“2”,借以区分借书和还书。

借书查询:

很简单的代码,不过是按顺序把图书编号、图书名字、借此书的学生编号列出来而已。

 

历史查询:

按顺序读取时间数据和借书还书的信息。

intk;//这里开始是时间读取

intt[10];readera[100];bookb[100];

cout<<"借书历史数据"<

for(k=0;k<100;k++)

{

fstreamtime1("a2.dat",ios:

:

in);

time1.seekp(sizeof(5)*(2*k));time1>>t[1];time1.close();

fstreamtime2("b2.dat",ios:

:

in);

time2.seekp(sizeof(5)*(2*k));time2>>t[2];time2.close();

fstreamtime3("c2.dat",ios:

:

in);

time3.seekp(sizeof(5)*(2*k));time3>>t[3];time3.close();

 

 

接着显示所有借书还书记录。

if(t[9]==1)

{

cout<<"时间:

"<

"<

"<

cout<<"学号:

"<

"<

cout<<"书号:

"<

"<

cout<<"借还:

借书\n"<

}

elseif(t[9]==2)

{

cout<<"时间:

"<

"<

"<

cout<<"学号:

"<

"<

cout<<"书号:

"<

"<

cout<<"借还:

还书\n"<

}

elsebreak;

 

第四章调试与测试

4.1调试过程中的主要问题

程序调试中,主要的问题是数据信息的储存问题,以及文件流的错误使用。

1、“()”括号是其中的一个问题。

括号的重要性在C++中不言而喻。

由于未能及时发现,导致程序编写速度变得非常缓慢,例如在文件中指定位置保存数据时,代码“fout.seekp(sizeof(reader)*(q-1))”中的“(q-1)”开始就是由于没有使用括号而导致数据信息储存错误。

2、由于信息储存中没有学生号和图书号,所以在借书还书以及查询上问题较多。

因为简化了储存,只保存书名、学生名和借书学生编号,所以在通过书号和学生号进行查询时花费较多的语句来将信息关联,使程序复杂化。

3、简单错误:

写程序太快,把“=”(赋值)和“==”(弄错),漏写非常多个“;”,“{”、“}”大括号多写或漏写。

4.2测试过程与结果

主界面(第一次开启会初始化数据,如左上角显示):

图书管理:

增改图书:

删除图书:

 

删除和查看图书时,若图书不存在:

 

查看图书:

所有图书:

学生管理的除了查看学生之外和图书管理的类似。

查看学生:

借书:

 

还书:

借书查询:

历史记录:

 

参考文献

[1]陈维兴、林小茶:

《C++面向对象程序设计教程》[M],清华大学出版社-3版,第305页。

 

心得体会

通过一个完整的图书管理信息系统的创建,我了解到一个数据库系统的开发,即是前台和后台的开发。

前台是应用程序的开发:

功能模块设计、源代码开发。

后台是数据库的开发:

系统设计、数据库设计、数据库结构的设计等。

前台开发涉及到整个图书管理系统功能的实现,及实现的效率。

后台开发也尤为重要,它对应用程序的效率以及实现的效果产生影响。

另外,合理的数据结构将非常有利于程序的实现,而不合理的信息储存则会使得程序大幅度的复杂化。

通过对这个系统的开发,我对VC++有了更深程度的认识和了解,也使我对数据库的开发有所了解,为以后从事数据库开发工作打下了良好的基础。

在这个程序的设计过程中,我清楚的意识到自己的水平有多么的薄弱,课程的知识学得有多么的不扎实。

看网上的例子好像觉得也没那么难,自己一上机实际操作就出现了很多问题,调试的时候系统总是在报错,还有很多警告,每增加一个函数就要调试好久,有时候应为少了一个大括号或是分号,导致要找很久很久。

虽然系统可以运行,也具有了一些基本的功能,但我意识到了自己有太多的不足。

以后还会有很多的课程设计,一定要吸取这次的教训,把知识学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长。

 

计算机学院课程设计答辩记录表

专业学院

专业

姓名

学号

课程设计

题目

答辩日期

答辩时间

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2