C++数据结构实训报告书Word下载.docx
- 文档编号:18595665
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:24
- 大小:520.81KB
C++数据结构实训报告书Word下载.docx
《C++数据结构实训报告书Word下载.docx》由会员分享,可在线阅读,更多相关《C++数据结构实训报告书Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
⑥结果分析:
程序运行结果包括正确的输入及输出结果和含有错误的输入及其输出结果。
开发环境:
MicrosoftVisualStudio2010
实现目标:
管理员功能:
①登录:
输入管理员密码,若密码错误则不得执行管理员操作。
②添加新书:
增加新的图书资料,同时需检查新书的图书编号是否已存在于
原图书资料中,若已存在则应取消添加或提示重新输入。
③修改图书:
通过编号查询该图书资料,若该编号存在,则显示已有信息,
允许修改,否则提示无该图书信息。
④删除图书:
允许删除,否则提示无该图书信息。
删除对象包括该图书资料
以及“图书状态”和“借阅人”中与此书相关的所有记录。
⑤查找图书:
A.按书号查找:
通过编号查询该图书资料,若该编号存在,则显示图书信
息,否则提示无该图书信息。
B.按书名查找:
通过书名查询该图书资料,若该编号存在,则显示图书信
C.按作者查找:
通过作者查询该图书资料,若该编号存在,则显示图书信
⑥查看全部图书:
显示所有图书资料,包括书号、书名、作者、状态和借阅
人等信息。
⑦修改读者:
通过姓名查询该读者信息,若该姓名存在,则显示已有信息,
允许修改,否则提示无该读者信息。
⑧删除读者:
允许删除,否则提示无该读者信息。
删除对象包括该读者姓名、
班级、电话以及“图书状态”和“借阅人”中与此人相关的所
有记录。
⑨查看所有读者:
显示所有读者资料,包括姓名、班级、电话等信息。
2.1.2读者功能:
输入读者姓名,若未经注册则不得进入读者服务界面。
②注册:
新用户经注册方可登录系统并使用读者服务功能。
③借书:
A.输入所需图书编号,判断该编号是否存在,若不存在则提示重新输入。
B.若所输入图书编号存在,则判断该书籍是否已被借出,若已借则不允
许执行借书操作。
C.若所输入图书未借,则提示输入读者姓名,判断所输入读者姓名是否
存在,若不存在则提示重新输入。
D.若读者姓名存在,则允许执行借书操作。
E.借书处理包括在“图书状态”中加上“已借”标记。
④还书:
A.输入所借书编号,判断该编号是否存在,若不存在则提示重新输入。
B.判断该书是否已借出,若未借则不允许执行还书操作。
C.借书处理包括在“图书状态”中加上“未借”标记。
⑤查询图书:
⑥查看借阅情况:
输入读者姓名,若该姓名不存在则提示重新输入,若该姓
名存在则显示该读者借阅信息。
摘要
信息管理是一项古老的活动,但管理方式却没有停止过变化,从手工记录到计算机存储,从平面文件到关系型数据库;
从单机单用户数据库访问模式到客户/服务器模式,从客户/服务器模式到浏览器/服务器...人员管理的技术越来越先进、科学和客观。
同时,可管理的信息容量也越来越大,更适应信息膨胀时代的要求。
根据老师的任务书需求,本论文就其图书馆管理系统设计实现进行了分析探讨:
首先概要性地介绍了数据库的基本理论,然后就该系统设计过程中,对设计要点的指导理论进行了叙述。
最后介绍了该系统的功能模块划分,简要列举了各功能模块的功能,并列出了一些程序代码以说明该系统应用程序设计中所采用的技术。
随着各种信息的日益膨胀和图书管理人员信息服务需求的不断增强,图书信息系统急待有一个面向网络的日常工作的信息服务功能,如:
图书查询、管理人员资料、图书信息文档等信息的存储、管理、共享、使用与交流,图书资料文献检索、图书借阅等。
因此要建立一个面向广阔的网络的交流平台来实现以上的功能以及未来系统功能的扩充。
通过对图书管信息管理模式的考察,为充分体现全方位的网络信息服务功能,有效利用现有基础网络设施和软件系统构筑图书馆局域网的资源共享,我们在选题是选择了图书管理系统的设计,一个基于网络的图书管里系统
关键词:
图书借阅,人员管理,图书修改,图书查询,读者注册
目录
目录0
引言2
1系统分析3
1.1数据流图3
1.2数据字典5
2系统设计6
2.1总体设计6
2.1.1整体设计6
2.1.2系统功能模块图,如图2.1.2所示:
7
2.1.3流程图(部分示例)7
2.2详细设计8
2.2.1书籍结构体(Book)8
2.2.2书籍管理结构体(BookManage)9
2.2.3读者结构体(Reader)9
2.2.4读者管理结构体(ReaderManage)10
2.2.5菜单结构体(Menu)10
2.2.6主函数(main)11
3系统实现12
3.1各界面菜单显示12
3.1.2系统管理界面13
3.1.3读者登陆界面15
3.1.4读者服务界面16
3.1.5书籍查找桌面17
结论20
参考文献22
引言
21世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。
然而如何获取信息?
图书是我们最好的获取信息的方式。
图书馆作为一个信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理。
以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况的统计和核实等往往采用对借书卡的人工检查进行。
这种人工管理的方式存在许多缺点,如:
工作效率低下、保密性差且较为繁琐,另外随着图书资料数量的增加,其工作量也将大大增加,这必然增加图书资料管理者的工作量和劳动强度,给图书资料信息的查找、更新和维护都带来了很多困难。
由于数据繁多,容易丢失,且不易查找,因此容易出错。
总的来说,缺乏系统、规范的信息管理手段。
这样的管理机制已经不能适应时代的发展,传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。
因为作为计算机应用的一部分,使用计算机对图书信息进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高管理效率,也是企业的科学化、正规化管理,与世界接轨的重要条件,同时能够极大地提高图书管理的效率。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
基于这些问题,有必要建立一个图书管理系统,使图书管理工作规范化、系统化、程序化、避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
本图书管理系统是典型的信息管理系统,该系统主要实现学校图书馆的新书入库、图书借阅、图书检索、读者设置、图书信息调整等智能化管理过程。
图书管理者只需略懂电脑知识就可以简易的操作本图书管理系统,从而抛弃了以往手工作坊笔纸登记不科学的方法。
1系统分析
1.1数据流图
关联图:
顶层图:
数据流图:
1.2数据字典
数据流名称:
借书
别名:
借书单
简述:
读者借书时填写的单据
来源:
读者
去向:
审核借书
组成:
借书证编号+借阅日期+书名+借阅方式+密码+借阅人
还书
无
读者还书时附带的数据
审核还书
借书证编号+借阅日期+书名+借阅方式
数据存储名称:
借书文件
借书证编号+借阅日期+书名+借阅方式+密码+借阅人+操作员
查询要求:
要求能立即查询并修改
库存文件
存放图书出/入库信息
书名+出版社+作者+出版日期+入库数据+总数量+(内容简介)+当前库存量
组织方式:
数据文件,以书名为关键字进行索引
加工名:
审核借书证
编号:
1.1
激发条件:
接受到借书证
2系统设计
2.1总体设计
2.1.1整体设计
经过需求分析,本系统共设计了五个大模块,分别是书籍数据维护模块、书籍管理模块、读者数据维护模块、读者管理模块和菜单模块。
接着相应定义了五个结构体,分别是书籍结构体(Book)、书籍管理结构体(BookManage)、读者结构体(Reader)、读者管理结构体(ReaderManage)和菜单结构体(Menu)。
书籍结构体(Book)的功能在于存放和维护书籍的基本信息,包括书号、书名、作者、状态(已借/在架)和借阅人;
书籍管理结构体(BookManage)的功能在于实现对书籍的相关操作,包括读取书籍文档文件(book.txt)、保存书籍文档文件、添加图书、修改图书、删除图书、显示全部图书和查找图书;
读者结构体(Reader)的功能在于存放和维护读者的基本信息,包括姓名、班级和电话;
读者管理结构体(ReaderManage)的功能在于实现对读者的相关操作,包括读取读者文档文件(reader.txt)、保存读者文档文件、新读者注册、修改读者、删除读者、显示全部读者和查找读者;
菜单结构体(Menu)的功能在于实现各界面的引导工作,包括主登录界面、系统管理界面、读者登录界面、读者服务界面、管理员书籍查找界面和读者书籍查找界面。
图2.1.2系统功能模块图
2.1.3流程图(部分示例)
①管理员登录
②读者登录
③读者借阅图书
④管理员或读者按书名查找图书
2.2详细设计
2.2.1书籍结构体(Book)
①私有数据
charbnum[10];
//书号
charbname[20];
//书名
charbauthor[10];
//作者
charrname[10];
//借阅人
②公有数据及公有函数
inttag;
//状态标记判断指标(已借/在架)
Book()//构造函数初始化信息
voidset_bnum(char*no)//设置书号
char*get_bnum()//获得书号
voidset_bname(char*n)//设置书名
char*get_bname()//获得书名
voidset_bauthor(char*a)//设置作者
char*get_bauthor()//获得作者姓名
voidset_tag(intt)//状态设置
voidset_rname(char*rn)//设置借阅人
char*get_rname()//获得借阅人姓名
voidshow_tag()//显示图书状态
voidcopy(Bookm)//Book结构体copy函数
2.2.2书籍管理结构体(BookManage)
①私有数据及函数
Bookbooks[100];
//定义Book书籍结构体数组对象,最大容量100本
intlength;
//计数
voidsaveFile()//保存书籍文件
voidreadFile()//读取书籍文件
②公有数据及函数
BookManage()//构造函数,读取磁盘文件
~BookManage()//析构函数,保存磁盘文件
booladd(Bookbook)//添加图书资料
intbnu_search(char*bnu)//按书号查找书籍
intbna_search(char*bna)//按书名查找书籍
intbau_search(char*bau)//按作者查找书籍
intrn_search(char*rn)//按借阅人查找书籍
voidrevise(Bookbook,inti)//带参的修改书籍函数
voiddeleteBook(intindex)//带参的删除书籍资料函数
voidshow_book()//不带参的显示书籍函数
voidshow_book(inti)//带参的显示书籍函数
voidbr_book()//读者借、还书功能函数
boolin(inti)//判断图书是否在架函数
2.2.3读者结构体(Reader)
①私有数据及函数
charrname[10];
//读者姓名
charrclass[10];
//班级
charrtel[10];
//电话
Reader()//构造函数,实现数据初始化
voidset_rname(char*rn)//设置读者姓名
char*get_rname()//获得读者姓名
voidset_rclass(char*rc)//设置班级
char*get_rclass()//获得班级
voidset_rtel(char*rt)//设置电话
char*get_rtel()//获得电话
voidcopy(Readerm)//读者Reader结构体copy函数
2.2.4读者管理结构体(ReaderManage)
Readerreaders[50];
//定义读者结构体数组对象,最多50位
voidreadFile()//读取读者文件函数
voidsaveFile()//保存读者文件
ReaderManage()//构造函数,读取读者文件
~ReaderManage()//析构函数,保存读者文件
voidadd_reader(Readerr)//添加读者用户函数
intsearch(char*rn)//按姓名查找读者函数
boolrevise(Readerreader,inti)//修改读者资料函数
voiddelete_reader(intindex)//删除读者函数
boollog_reader(Readerr)//登录时判断读者用户是否存在函数
voidreg_reader()//注册用户函数
voidshow_reader()//不带参的显示读者信息函数
voidshow_reader(inti)//带参的显示读者信息函数
2.2.5菜单结构体(Menu)
BookManagebm;
//定义书籍管理结构体对象bm
ReaderManagerm;
//定义读者管理结构体对象rm
Readerr;
//定义读者结构体对象r
intchoice;
//菜单序号选择
intkey;
//管理员密码
voidheader()//页眉
voidlog_menu()//主界面登录菜单
voidadmin_menu()//管理员管理菜单
voidreader_menu()//读者服务菜单
voidbsearch_menu()//读者查找书籍菜单
voidabsearch_menu()//管理员查找书籍菜单
voidreader_lr()//读者登录或注册菜单
voidlog_admin()//管理员登录
voidrn_search()//按书号查找函数
voidbnu_search()//按书号查找函数
voidbna_search()//按书名查找函数
voidbau_search()//按作者查找函数
voidaddBook()//新增书籍函数
voidreviseBook()//修改书籍函数
voiddelBook()//删除书籍函数
voidreviseReader()//修改读者用户函数
voiddelReader()//删除读者用户函数
2.2.6主函数(main)
intmain()
3系统实现
3.1各界面菜单显示
3.1.1主登录界面
输入数字1按回车进入登录界面
选择数字1或2选择1进入如下系统管理界面
3.1.2系统管理界面
选择数字0—9要添加新的图书资料选1
选择2
选择5
选择8
3.1.3读者登陆界面
3.1.4读者服务界面
选择4
3.1.5书籍查找桌面
4系统测试
输入书号若输入错误则出现下列情况
结论
经过近三个星期的努力,前后修修改改,调试又调试,我的C++图书管理系统终于得以诞生!
在这个过程中,我发现自己还有很多很多知识都没有学好,看别人的例子的时候好像很简单,自己一上机操作就有问题。
调试的时候系统总是报错,还有很多警告,每添加一个函数,往往都要要调试很久,有时候仅仅只是少了一个大括号,却花上近半个小时才找到问题的瓶颈所在。
系统虽然完成了,也可以运行,一些基本的功能也能够实现,但我知道,还有很多的不足。
另外,我发现帮助文件真的很有用,每当我看别人例子看不懂的时候,都是去帮助文件搜索,如果里面的信息不够完整,再利用各大网站的搜索引擎来寻找答案,比如更改背景颜色的问题,之前试了很多次都不行,后来偶然发现一个MS-DOS命令大全,然后再去网上搜索color命令的使用语法,原来以为很复杂的代码,只需一句system(colorfd),问题就迎刃而解了。
以后还会有很多课程设计,一定要吸取这次的教训,知识不是看过就可以了,而是要把知识学透、学精,才能够真正做到为我所用。
参考文献
[1]谭浩强等.C语言程序设计教程.北京:
高等教育出版社,1997
[2]谭浩强.C程序设计.第2版.北京:
清华大学出版社,1999
[3]郭浩志.C语言程序设计.北京.北京邮电大学出版社,2005
[4]《C陷阱与缺陷》.北京:
人民邮电出版社,2008
[5]谭浩强、张基温.C语言程序设计教程.北京:
高等教育出版社,2006
[6]《C程序设计经典教程》.北京:
清华大学出版社,2006
姓名
班级
学号
课设题目
教师评语:
教师签名:
孙承福
2012年1月13日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 数据结构 报告书