C语言大作业图书馆管理系统1.docx
- 文档编号:8024042
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:40
- 大小:921.01KB
C语言大作业图书馆管理系统1.docx
《C语言大作业图书馆管理系统1.docx》由会员分享,可在线阅读,更多相关《C语言大作业图书馆管理系统1.docx(40页珍藏版)》请在冰豆网上搜索。
C语言大作业图书馆管理系统1
C语言课程设计报告
题目:
图书馆管理系统
学号:
****
学生姓名:
********
专业年级:
****************
指导教师:
*******
*******系
****年*月*日
目录
摘要I
前言III
1需求分析1
2系统描述及界面设计5
2.1数据描述:
5
2.2数据库描述6
2.3数据流图和数据词典7
2.4数据采集12
2.5界面设计12
3系统功能模块的设计与实现19
3.1软件结构设计19
3.2程序描述21
3.2.1读者添加21
3.2.2读者查询修改21
3.2.3图书添加25
3.2.4图书查询修改26
3.2.5借书模块29
3.2.6查询借阅还书模块32
3.2.7续借模块34
3.2.8图书查询模块36
4总 结39
摘要
图书馆是最丰富、最宝贵的信息源和知识源。
图书借还业务是图书馆的主要工作之一,每天要花费管理人员大量的时间来进行借书证分类、归户、统计等工作,有时还会出现错误,给下一环节的工作和读者带来不便。
由于手工统计的时间限制,所需要的许多报表不能如期完成。
随着计算机技术的发展和普及,利用计算机技术准确、快捷、方便的特点进行图书借阅管理,不仅能实现书证管理、还书和借书管理的计算机话、库存图书的分布查询,还能对借出图书进行系统,及时提供准确、详细的借阅数据,为采购部门提供可靠、具体的购书信息。
图书馆管理系统已成为方便了广大师生、学校与外界之间的沟通架起了一座桥梁。
但是,这并不能满足目前师生的需要。
比如一些特定的需要要,在管理方面特别不方便,因为它受到地域的限制太大。
就目前情况而言,急需充分利用网络方式的图书管理。
我们的网络图书馆管理系统就是为了解决这问题而设计的。
本软件采用B/S结构,ASP+ACCESS的经典网络搭配,利用IIS服务器的强大功能,在网络中发挥出良好,所以应用很广泛,能满足目前各学院特定用户进行图书管理的目的,而且这些通用的软件,任何人都可以得到并对其进行研究。
关键字:
B/S,数据库,IIS,ASP
绪论
随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。
在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。
对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。
计算机网络近年来获得飞速的发展,十年前,很少有人接触过网络。
如今,计算机网络已经成为我们社会结构的一个基本组成部分。
网络已被应用到人类生活的各个方面,人们通过网络通信,共享资源,网上超市、电子银行等也应运而生,各种提供不同特色,不同内容的网站如雨后春笋般涌现。
计算机网络的发展为人们打开了一种新的视野,促成了一个新领域新产业的产生。
网络的发展试图用一种全新的概念冲击各个传统的商业模式,改变人们的生活方式。
新的需求产生了,人们想通过网络进行个人通信、媒体传播、商业运作、办公、教学等。
总之网络技术的发展促进了社会经济结构的变革。
反之,社会经济对网络发展提出的新的需求又大大的促进了网络的发展,计算机网络及其所涉及的一系列技术成为计算机领域新的研究热点。
在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。
对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。
而采用功能强大的数据库软件开发工具进行图书管理软件开发,具有很好的可移植性,可在应用范围较广的WINDOWS系列等操作系统上使用。
除此以外,图书馆管理系统已成为方便了广大师生、学校与外界之间的沟通架起了一座桥梁。
但是,这并不能满足目前师生的需要。
比如一些特定的需要要,在管理方面特别不方便,因为它受到地域的限制太大。
就目前情况而言,急需充分利用网络方式的图书管理。
我们的网络图书馆管理系统就是为了解决这问题而设计的。
只要管理员掌握用户名和密码,无论这个管理员在哪里,只要能上网冲浪,就能进行工作。
而且,该系统对计算机的软硬件都要求并不高,使用性比较强。
1需求分析
《图书管理系统》针对的用户是单个中小型图书室或者个人,藏书的种类和数量较少,读者的数量和来源受到一定的限制。
相应的需求有:
(1)能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:
①图书信息的录入、删除及修改。
②图书信息的多关键字检索查询。
③图书的出借、返还和资料统计。
(2)能够对一定数量的读者进行相应的信息存储与管理,这其中包括:
①读者信息的登记、删除及修改。
②读者资料的统计与查询。
(3)能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。
技术手段
开发工具:
VB
VB是VisualBasic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。
它简单易学、效率高,且功能强大可以与Windows专业开发工具SDK相媲美。
在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。
VB具有以下特点:
1、面向对象。
VB采用了面向对象设计思想,它基本思路是把复杂的设计问题分解为多个能够完成独立功能且相对简单的对象集合。
所谓“对象”就是个可操作实体如窗体、窗体中命令按钮、标签、文本框等,面向对象编程就是指程序员可根据界面设计要求直接在界面上设计出窗口、菜单、按钮等类型对象并为每个对象设置属性。
2、事件驱动。
在Windows环境下是以事件驱动方式运行每个对象的都能响应多个区别事件,每个事件都能驱动段代码事件过程,该代码决定了对象功能。
通常称这种机制为事件驱动的编程机制。
可由用户操作触发也可以由系统或应用触发例如单击个命令按钮就触发了按钮Click(单击)事件该事件中代码就会被执行,若用户未进行任何操作(未触发事件)则就处于等待状态整个应用就是由彼此独立事件过程构成。
3、软件Software集成式开发。
VB为编程提供了个集成开发环境,在这个环境中编程者可设计界面、编写代码、调试直至把应用编译成可在Windows中运行的可执行文件,并为它生成安装VB集成开发环境,为编程者提供了很大方便。
4、结构化设计语言。
5、强大数据库访问功能。
6、支持对象连接和嵌入技术
7、网络功能。
8、多个应用向导。
9、支持动态交换、动态链接技术
10、具有联机帮助功能
后台数据库:
ACCESS
MicrosoftOfficeAccess(前名MicrosoftAccess)是由微软发布的关联式数据库管理系统。
它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice的成员之一。
其实Access也是微软公司另一个通讯程序的名字,想与ProComm以及其他类似程序来竞争。
可是事后微软证实这是个失败计划,并且将它中止。
数年后他们把名字重新命名于数据库软件。
另外,Access还是c语言的一个函数名和一种交换机的主干道模式。
2系统描述及界面设计
2.1数据描述:
2.1.1数据库设计
图书管理系统的表单包括:
图书(book):
图书编号(BookID);
图书书名(BookName);
图书作者(Writer);
图书出版社(Publisher);
图书单价(BookPrice);
图书摘要(Booktxt);
图书分类(BooktypeID);
图书状态(Borrow);
图4-1book表视图
图书类别(booktype):
类别编号(BooktypeID);
图4-2booktype表视图
读者(reader):
读者识别号(ReaderID);
读者姓名(Name);
性别(Sex);
读者联系方法(Address);
电话号(TelephoneNumber);
图4-3reader表视图
图书借阅记录(borrow):
借阅图书号(bookID);
借阅者证号(ReaderID);
借书日期(BorrowDate);
借阅备注(Borrowtxt)
图4-4borrow表视图
2.1.2动态数据
输入数据:
鼠标对按钮的点击
查询方式、查询关键字;
新建图书项、读者项;
图书项、读者项相应纪录更改;
借阅、返还、丢失注销时的书号、借阅证号;
输出数据:
查询关键字确定的数据库记录的子集;
信息录入、删改结果(成功或失败);
图书借阅、返还、丢失注销等操作结果;
2.2数据库描述
数据库采用MicrosoftAccess数据库。
2.3数据流图和数据词典
《图书管理系统》的总体功能如下:
图书的出借;
图书的返回;
图书的增删改;
读者的增删改;
图书管理者查询统计图书和读者信息;
(1)读者借书过程:
①数据流图:
图4-5读者借书数据流图
图书信息;
读者信息;
图书访问记录;
日期;
②数据词典:
数据源点及汇点描述:
名称:
读者
简要描述:
借书、还书、查询及登记注册
名称:
日历
简要描述:
当日日期
加工逻辑词条描述:
加工名:
借书检验
加工编号:
1
简要描述:
检验读者身份、图书是否入库、读者还能借多少书以此判定读者是否能借书
输入数据流:
借书证;所借书本,读者信息,图书信息,图书访问记录,日期
输出数据流:
借书错误信息,借书信息
加工逻辑:
IF 借书证未登记入库 THEN
发出“借书错误”
ELSE IF 图书未登记入库 THEN
发出“借书错误”
ELSE IF 读者已借图书和现借图书多于限制数N THEN
发出“借书错误”
ELSE IF 读者已借图书中有超期 THEN
发出“借书错误”
ELSE 发出“借书信息”
ENDIF
ENDIF
ENDIF
ENDIF
加工名:
借书登记
加工编号:
2
简要描述:
将“借书信息”登记到“图书访问记录库图书访问记录”中,完成后将书本递交读者
输入数据流:
借书信息,日期
输出数据流:
图书访问记录,图书
加工逻辑:
将借书信息及日期写入图书访问记录;
将图书递交读者
数据流名词条描述:
数据流名:
借书证
说明:
用以携带读者的唯一识别标识
数据流名:
图书
说明:
记录图书的主要相关信息
数据流名:
借书信息
说明:
用于传递读者号和图书号
数据流名:
日期
说明:
提供当前日期信息
数据文件词条描述:
数据文件名:
读者库
简述:
存放读者信息
输入数据:
输出数据:
读者信息
数据文件组成:
读者库由“读者信息”组成
存储方式:
关键码
存取频率:
数据文件名:
图书库
简述:
存放图书信息
输入数据:
输出数据:
图书信息
数据文件组成:
图书库由“图书信息”组成
存储方式:
关键码
存取频率:
(2)读者还书过程:
图4-6读者还书数据流图
加工逻辑词条描述:
1加工名:
还书检验
加工编号:
3
简要描述:
检验图书是否图书室外借图书
输入数据流:
图书,图书访问记录
输出数据流:
检验错误,还书信息
加工逻辑:
IF 书号与数据库数据不符 THEN
发出“检验错误”
ELSE 发出“还书信息”
ENDIF
2加工名:
还书登记
加工编号:
4
简要描述:
删除读者对该图书的借书信息,给出警告及天数
输入数据流:
还书信息,日期
输出数据流:
图书访问纪录,还书成功
加工逻辑:
IF 所还图书超期 THEN
统计超期天数
生成含警告的返回信息
ELSE 删除图书访问记录库中相应的借书记录
生成成功信息
ENDIF
给出还书返回信息
数据流名词条描述:
1数据流名:
还书信息
说明:
用于传递图书书号
2数据流名:
还书成功
说明:
用于通知还书成功
(3)读者查询浏览过程:
图4-7读者查询浏览过程
加工逻辑词条描述:
1加工名:
查询许可检验
加工编号:
5
简要描述:
检验读者身份是否有效
输入数据流:
借书证,查询信息,读者信息
输出数据流:
检验错误,查询信息
加工逻辑:
IF 借书证在读者库中不存在 THEN
发出“检验错误”
ELSE 发出“查询信息”
ENDIF
2加工名:
数据查询
加工编号:
6
简要描述:
根据所读入的查询信息,检索图书库和图书访问记录库得出相应结果
输入数据流:
查询信息,图书信息,图书访问记录,日期
输出数据流:
查询结果
加工逻辑:
根据查询信息,检索图书库和图书记录
(4)图书管理员查询浏览过程:
图4-8图书管理员浏览过程
加工逻辑词条描述;
1加工名:
数据查询
加工编号:
12
简要描述:
根据所读入的查询信息,检索读者库、图书库和图书访问记录库得出相应结果
加工逻辑:
根据所读入的查询信息,检索读者库、图书库和图书访问记录库得出相应结果
2.4数据采集
数据采集采用键盘输入。
2.5界面设计
2.5.1用户界面
按Web应用软件用户界面的规范来设计,使用以Web页面为主的用户界面,便于用户使用。
(1)主页面:
由框架超链构成
读者管理、图书管理、借阅管理、图书分类
图4-9主页面
(2)借阅管理:
借书:
图4-10借阅管理页面
还书/续借:
图4-11还书、续借页面
借阅查询:
图4-12借阅查询页面
(3)读者管理:
添加读者:
图4-13读者管理页面
修改读者:
图4-14修改读者页面
读者列表:
图4-15读者列表页面
(4)图书管理:
添加新书:
图4-16添加新书页面
书库管理:
图4-17书库管理页面
(5)图书分类:
图4-18图书分类页面
(6)成功确认:
图4-19成功确认页面
(7)图书查询:
图4-20图书查询页面
2.5.2软件接口
使用Access数据库的驱动程序,通过COM接口访问。
2.5.3硬件接口
键盘、鼠标。
3系统功能模块的设计与实现
主模块
3.1软件结构设计
用户界面
模块调度
还书
借书
查询
输出
续借
输入
借书模块
图5-1主模块结构图
图书查验
用户界面
读者身份查验
操作命令
输入
输入
借书登记
输出
获取信息
数据库操作
数据库查询
图5-2借书模块图
还书模块
输出
获取信息
输入
数据库操作
用户界面
记录还书信息
还书登记
借书记录查验
超期
操作命令
数据库查询
图5-3还书模块图
图5-4图书库操作模块图
读者库操作模块
获取
相关
信息
事务处理
获取记录
移动
至指定
ID
加入记录
删除记录
移动
至上
一个
记录
ID查验
图5-5读者库操作模块图
3.2程序描述
借阅模块
初始化
3.2.1读者添加
图书查询模
读者模块
图书模块
功能
建立与数据库连接
查验输入的读者,性别
自动生成借书证号
保存并断开与数据库的连接图5-6读者添加功能模块图
输入项目
用户键盘、鼠标点击输入
程序逻辑
进入添加读者页面
输入读者信息
输入不合理
验证
添加读者记录
添加成功到修改
图5-7读者添加模块图
3.2.2读者查询修改
功能
查验输入的读者证号
运行查询
获取该读者的相关信息
修改、删除读者信息(姓名);
程序逻辑
进入查询读者页
输入读者证号/姓名
查验
输入不合理
查无此人
进入修改读者页
读者库查询读者
输入修改读者信息
输入不合理
查验
修改
是否删除
有误
借书查询
查验输入
修改保存成功
借书未还
查验借书
删除成功
图5-8读者查询修改逻辑图
程序实现
********************************************************
'姓名性别填写有误
ifreadername=""or(sex<>"0"andsex<>"1")then
response.write"
姓名,性别有误!
!
!
');history.back(-1)"
response.end
endif
'查询修改
ifreaderid="1"then
response.write"
基本项不能改');history.back(-1)"
response.end
endif
sql="select*fromreaderwherereaderid="&readerid
endif
rs.opensql,db,1,3
'查询修改
ifnotrs.eofornotrs.bofthen
ifmethd="删除"then
'检查借阅
sql="select*fromreader,borrowwherereader.serialnumber=borrow.serialnumberandreader.readerid="&readerid
rs1.opensql,db,1,3
'借书未还,不能删除该读者
ifnotrs1.eofornotrs1.bofthen
rs1.close
setrs1=nothing
rs.close
setrs=nothing
response.write"
此人借书未还,不能删除...');history.back(-1)"
response.end
'删除该读者
else
rs.delete
rs.update
rs.close
setrs=nothing
rs1.close
setrs1=nothing
response.write"
response.write"
"
response.write"
response.end
endif
elseifmethd="修改"then
rs("readername")=readername
rs("sex")=sex
rs("readertel")=readertel
rs("readeraddress")=readeraddress
rs("readertxt")=readertxt
rs.update
rs.close
setrs=nothing
response.write"
response.write"
response.end
else
rs.close
setrs=nothing
response.write"
方法错误...');history.back(-1)"
response.end
endif
3.2.3图书添加
功能
建立与数据库连接
查验输入的图书信息
自动生成图书编号
保存并断开与数据库的连接
输入项目
用户键盘、鼠标点击输入
进入添加图书页面
程序逻辑
输入图书信息
输入不合理
验证
归入杂类
有无分类
添加图书记录
添加成功到修改
图5-9图书添加逻辑图
3.2.4图书查询修改
功能
查验输入的图书相关信息
获取该图书的相关信息
查询借阅
分页显示
输入项目
图书相关信息(用户输入)
输出项目
完整图书信息(书名、借书日期);借阅信息
程序逻辑
图5-10图书查询修改逻辑图
程序实现
********************************************************
ifmethd<>"删除"then
ifmethd<>"添加"and(onno<>"0"andonno<>"1")then
response.write"
!
!
废弃项有误');history.back(-1)"
response.end
endif
if(booktypeid="")thenbooktypeid="1"
if(bookmoney="")thenbookmoney="0"
endif
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 作业 图书馆 管理 系统