c++图书信息管理系统(附源码)

1、学号:20104303计算机实习报告系别:管理系专业:信息管理与信息系统专业班级:1043班学生姓名:李优指导教师:徐日日期:2012-09-03-2012-09-141需求分析1.1选题任务图书借阅管理系统(1)编程工具C+(2)要求选题学生应具有端正的学习态度、正常的交流能力,应有积极主动、克服困难的学习意识(3)本题概述以学院图书馆为例,图书借与管理是一项经常性工作,为使图书借阅管理工作准确高效,提供图书借阅记录的添加、修改、删除、查询、浏览、汇总等,用图书借阅关系软件,能有效提高工作效率,具有较强的实际意义。(4)功能描述能度日外部提供的包含图书借阅信息的文本文件(TXT文件);能在

2、程序中录入图书借阅信息(可参考我院图书馆网上图书借阅信息的各个项目),并将信息写入文本文件(TXT文件);能对所有图书借阅信息,按条件(按图书名、图书编号、借阅日期、借阅人、超期与否、超期天数等)查询浏览,能汇总统计计算出符合某条件的图书借阅记录的数量并浏览这些借阅信息,能将查询、浏览、汇总的结果输出结果文本文件(TXT文件)(5)辅助说明基础要求:+扩展要求:+1.2输入数据和输出数据形式:程序中包含的图书信息包括:charbnum20;书号charbname20;书名charbauthor10J;作者charrnameL10;借阅人charbdays10;charbchaoL10;借

3、出日期超期天数为了方便,我全部设置成了char型。而程序中包含两种输入方式和两种输出方式,对应题目要求,分别是:单个图书信息的增删查改;TXT文档的导入(图书数据库.txt);屏幕的打印;TXT文档的导出(书籍信息.tXt)o1.3测试数据及测试目的字母测试,错误数据测试,重复数据测试目的:产看本程序的纠错能力和是否人性化。2.1关键数据类型定义*书籍结构体,classBook(private:charbnum20;charbname20;charbauthor10;charrname10J;charbdays10J;charbchao10J;public:Book()vo

4、idset_bnum(charchar*get_bnum()voidcharvoid2程序设计用于存放书籍基本信息*set_bname(char*n)*get_bname()set_bauthor(char*a)书号书名作者借阅人借出日期超期天数构造函数初始化信息*no)设置书号获得书号设置书名获得书名设置作者char*get_bauthor()voidset_bdays(char*d)char*get_bdays()voidset_bchao(char*c)char*get_bchao()voidset_rname(char*rn)char

5、*get_rname()voidcopy(Bookm);/classbook获得作者姓名设置借出日期获得借出日期设置超出天数获得超出天数设置借阅人获得借阅人姓名/Book结构体copy函数*书籍管理结构体,实现管理书籍功能*classBookManageprivate:Bookbooks100;定义Book书籍结构体数组对象,最大容量100本public:intlength;构造函数,读取磁盘文件BookManage()intadd(Bookbook)添加图书资料intbnu-search(char*bnu)按书号查找书籍intbna_search(char*bna)按书名查

6、找书籍intbau_search(char*bau)按作者查找书籍intrn_search(char*rn)按借阅人查找书籍intbd_search(char*bd)按借出日期查找书籍intbc_search(char*bc)按超期天数查找书籍voidrevise(Bookbook,inti)/修改书籍函数voiddeleteBook(intindex)删除书籍资料函数voidshow_bookhead()显示输出列表,表头。voidshow_book(inti)显示书籍函数voidsaveFileHeadO/保存书籍文件的表头到txtvoidsaveFile(inti)带参的输出书籍到txt

8、arch()voidbc_search()voidaddBook()voidreviseBook()密码登陆按借阅人姓名查找函数按书号查找函数按书名查找函数按作者查找函数按借阅日期查找函数按超期天数查找函数添加新的书籍信息函数修改书籍函数voiddeiBook()删除书籍函数intmain()2.2主程序流程图2.3调用关系1.书籍信息的录入:voidset_bnum(char*no)strcpy(bnum,no);char*get_bnum()returnbnum;voidset_bname(char*n)strcpy(bname,n);char*get_bna

9、me()returnbname;voidset_bauthor(char*a)strcpy(bauthor,a);)char*get_bauthor()returnbauthor;)voidset_bdays(char*d)strcpy(bdays,d);)char*get_bdays()returnbdays;voidset_bchao(char*c)strcpy(bchao,c);)char*get_bchao()returnbchao;voidset_rname(char*rn)strcpy(rname,rn);char

10、*get_rname()returnrname;2.书籍信息的添加:intadd(Bookbook)判断length是否达到最大值,设置书号把字符串no中的字符复制到字符串bnum中获得书号返回值为bnum设置书名获得书名设置作者获得作者姓名设置借出日期获得借出日期设置超出天数获得超出天数设置借阅人获得借阅人姓名如果没有则进行添加。3.书籍信息的查找:无论是按照书号、书名、作者、借阅人、借出日期、超期天数来进行查找都是进行挨个比较,如果遇到相同则返回书籍的i值,进行返回输出。4.书籍信息的修改:输入想要修改的书籍编号,按照查找的方法,找到i,然后进行覆盖。完成修改。5.书籍的屏

11、幕打印输出:分两部分输出,首先打印一个头信息,相当于列表的头;然后利用循环语句带参输出(i为参数,循环)。6.保存信息到txt文件:同分为两部分,类似屏幕打印的方法,先存入表头,然后带参循环存入书籍信息。带参的意义就是,可以无限调用该语句,只要知道书的序号i。7.从信息中读取txt文件:structbookscharnumb10;书号charnameb20;charauthorb10J;charnamerL10;chardaysb10;charchaob10;/书名作者借阅人借出日期超期天数;定义结构体。利用fscanf()语句讲读取的数据按顺序存入结构体中。然后直接利用书籍添

13、89ABGDEF色色色色篮色色色色黑蓝绿湖红膏白=01234567CMD.EXE启动时髓爵舞号箭矗鬣韶颜鹃般DefaultColor注册表值。加是用相同的前景和直景颜色来执行COLOR命令,COLOR命令除潞EPRORLEUEL设置为1。图3.12.关于书籍的cout输出:最开始设计输出模块时候,仅仅是想到了不带参的book信息输出,show_book()函数中自带了一个for语句循环输出所有书籍信息,是为显示全部书籍设计的。但是后来发现如果要单显示筛选信息就要从新写一个带参show_book(inti),虽然函数重载允许这样做,但是却无意义的增加了代码长度。我选择删除了不带参的sh

14、ow_book(),把for语句循环写在外面。这样就增加了show_book(inti)函数的利用率,精简了函数的和长度。3.书籍信息的txt写入:综合了屏幕打印的经验,鉴于fwrite和cout使用方法和显示效果类似,我决定将txt的写入语句也设置成带参形式saveFile(inti),原理与show_book(inti)基本一致。完成这些就能实现。后来发现文件总是覆盖,每次写入都会将上一次的覆盖,也就是只有最后一行,后来才想起了ios:app追加模式,才最终算完整实现。4.读取数据函数:这个函数是我编辑最久的,因为使用的不熟练,我先查找了很多资料,并且写了一些单独的小程序去测试效果,但

15、是感觉都不理想。后来选择了一个最笨的方法,利用fseek函数一格一格的挑开空格和无用信息。但是这样做最大的缺点就是,我的txt导入文档鼻息保持固定格式,一格空格都不能多,如果多了就会导致错位。后来与徐老师交流时,老师也说这种输入方法不可取,因为实现了功能但是意义不大。规格太死,不够人性化。于是我就退后开始,重新选择语句。最后决定定义结构体,把txt中信息读取之后直接存入结构体,随后就把结构体中的数据利用set.xxxx函数存入。5.关于字母纠错及错误输入的处理:字母输入原来都是用fflush(stdin);来清空缓存来防止程序进入死循环。但是我这次编程想到了一个更加简单有效的方法:利用cha

25、:弋*黑"面*31校作者直正仔按日期麦技6;返回上级。|ill出索疑置输入也林要的技务序号,4谪桂3以要宜触借出日朝:26161W9建田野产BHWff米.:-<-米.:-;:-<-5.2测试目的1、测试学号重复2、测试字母和特殊字符对输入的影响3、测试筛选是否符合规格5.3测试结果全部通过6心得体会经历了为期十天的编程实习,我觉得我变得更加成熟了,我从一开始的迷茫到后来的目标坚定,这都是一个改变的过程。因为是在暑假前就选好了题目,而且提前也知道了题目的要求。所以我在暑假就做好的了充分的准备。其实最开始想自学用VC+来编写一个可视化的程序。但是实施起来却没有那么容易,因

26、为我学习的VC不系统不全面只是一些皮毛,改改别的还可以,但是要是真正想实现自己的思想就有点捉襟见肘。后决定还是先用比较熟悉的C+语言来编一个完整的系统。虽然以前有做过C+的实验。但是像这种完成的系统确实没有经历过。其实这也是一个挑战,也是一个开始,是我们接触完整系统的开始。等快开学时候我已经完成了大部分代码:0.1原版.cppwIC+Source|11KB工314实现二半二证U*T+SourceI也西102历史存档有vIbug.cppC+Source问题存档."PvIC+Source|.I21KB0.3.cppvIC+

27、Source|19KBdl功能基本实现U*C+Source21KB但是有一些问题还是没有解决,我开学后就开始全力去解决这些问题。偏偏事与愿违,关于文件读取问题始终没有找到好的解决办法。最后还是从C+教科书上找到的灵感来解决这些问题。收获很大。本次学习中我有以下收获:1、明确了C与C+的区别,运用了多种C+知识,包括一开始就没弄太明白的文件输入输出,这回事真正弄明白了。2、复习了类和结构体的知识,但是继承类没有用到。以后还要多加复习。3、第一次编写之后,运行之后有50多个错误,大多数都是因为马虎造成的。以后还要多加此类的练习熟能生巧。4、多多利用网络资源,看网上的类似的代码能够

28、开阔自己的思路,学习别人好的算法。学习有很大帮助。5、先写出流程图这样是非常好的一种习惯,可以为后面写程序打下好的基础。6、养成好习惯,一个一个模块写,写好了立即执行看是否有错误,以防都写完了,错误却没法去改正。10天的编程已经接近尾声,但是总觉得要完善我的选题仍有许多要做的工作。以后还要加强自己的学习。努力学习编程。感谢徐老师的指导。7附录#iiiclude#include#include#include#iiicludeusingnames

29、pacestd;*书籍结构体,classBook(private:charbnum20;charbname20;charbauthorflO;charrname10;charbdays10;charbchao10;public:Book()strcpy(bnum/M,);strcpy(bname/M,);strcpy(bauthor;MI);strcpy(rname,HM);strcpy(bdays/u,);strcpy(bchao/,M);用于存放书籍基本信息*书号书名作者借阅人借出口期超期天数构造函数初始化信息voidset_bnum(char*no)sti

30、cpy(bnuni4io);char*get_bnum()returnbnum;设置书号把字符串no中的字符更制到字符串bnum中获得书号返回值为bnumvoidset_bname(char*n)设置书名sticpy(bnaiiieji);char*get_bname()获得书名returnbnaine;voidset_bauthor(chai-*a)设置作者sticpy(bauthoi;a);char*get_bautliorQ获得作者姓名returnbauthor;设置借出口期获得借出口期设置超出天数/获得超出天数voidset_bdays(char*d)sticpy(bdays.d

31、);char*get_bdays()returnbdays;voidset_bchao(chai-*c)sticpy(bchao,c);char*get_bchao()returnbchao;voidseCrnaine(char*rn)设置借阅人sticpy(rname,in);char*get_rnaine()获得借阅人姓名returnrnaine;voidcopy(Bookm)/Book结构体copy函数strcpy(bnumjn.get_bnuniQ);将获得书号函数里的返回值里的字符更制到bnumstrcpy(bname4n.gecbname();strcpy(bauthor4ii

32、.get_bautlioi();strcpy(rnamejn.get_rname();strcpy(bdays,m.get_bdaysQ);strcpy(bchaojn.get_bchaoQ););*书籍管理结构体,实现管理书籍功能*classBookManageprivate:定义Book书籍结构体数组对象,最大容量100本Bookbooks100;public:mtlength;BookMaiiage()构造函数,读取磁盘文件length=0;从头读起,计数,最大100)BookManage0析构函数,保存磁盘文件intadd(Bookbook)/添力口图书资料/if(lengtli>

34、cmp(booksi.get_bnameO,bna)=O)判断returni;return-1;intbau_seaich(chai-*bau)按作者查找书籍(fbr(inti=O;i

35、籍(fbr(inti=O;i

41、K_SET);/跳开表头40字节for(inti=0;i<5;i+)(fscangS,"s",&fbrmi.numb);fscanf(fp,&fbrmi.naineb);fscanf(fp,M%s,&fbrmi.authorb);fscanf(fp,M%s*&r);fscanf(fp,M%s,&fbrmi.daysb);fscanf(fp,M%s,&fbnni.chaob);book.seCbnum(fbrmi.numb);book.secbname(b);book.set_bau

42、thor(fdnni.authorb);book.seOname(r);book.secbdays(formi.daysb);book.seCbchao(fbrmi.chaob);BookManage:add(book);fflush(stdin);/总是溢出,终于想去了清空缓存,就好了,呵呵fclose(fp););*菜单结构体,实现界面引导*classMenuBookMaiiagebm;定义书籍管理结构体对象bmprivate:charchoice;菜单序号选择intkey;管理员密码public:intcheck(intm)检查语句(/*intq;dowhile(!(

THE END
1.考核数据管理系统(源码+文档+部署+讲解)命令提示符工作流数据本文将深入解析“考核数据管理系统”的项目,探究其架构、功能以及技术栈,并分享获取完整源码的途径。 系统概述 考核数据管理系统是一个综合性的管理系统,旨在通过数字化手段提升组织内部的考核管理效率。系统通过管理端和H5端,实现了对考核指标、工作流程、系统管理、日志管理、系统监控等功能的全面覆盖,为用户提供了一个https://m.163.com/dy/article/JJMRPOKK0556A0H0.html
2.C#案例分享:图书馆管理系统源码解析图书管理系统 需积分: 37103 浏览量更新于2024-10-15341KBZIP 资源摘要信息:"这份资源是一个关于C#语言开发的图书馆管理系统的源代码记录。该系统是学习C#编程语言的一个实践案例,并被记录在博客文章中。文件名称为L019_BookMange,表明这是一个与图书管理相关的项目。源码中包含了一些功能的实现,但同时也指出存在一https://wenku.csdn.net/doc/4qvrusupzk
3.C#图书管理系统程序员小R最近临近课程和毕业的到来,毕业设计和课程随着而来,为大家准备了C#图书管理系统 编写本报告的目的是说明对系统设计的考虑,并且完成系统的大致设计、明确该系统的数据结构与软件结构,进–步细化该系统设计阶段得出的总体概。该系统能够存储- -定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理;能够对–定数量https://www.cnblogs.com/robotsh/p/14131004.html
4.C#图书管理系统(源代码+数据库+系统流程图)老谢C#于 2024-11-21 上传 【实例简介】 本课题主要的任务是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。 (1) 管理员对功能的需求: https://www.haolizi.net/example/view_171888.html
5.C#winform图书管理系统源码(含数据库脚本)支持mysql数据库升级,把需要升级的所有sql语句写在一个文本中,选择文本,就能全部数据库全部升级成功,不需要一句一句的去执行,自动过滤错误的sql语句跳过不执行。此资源含C#源代码。vs2019能无错误执行成功。 上传者:chengyan2008时间:2020-05-12 课程设计-基于C#的winform的图书管理系统(源码+数据库).rar https://www.iteye.com/resource/zjg076000-10633601
6.C#图书管理系统附源码下载C#图书管理系统 附源码下载 用来练手还是不错的,分享大家看一下,还是一些新颖点的 !哈哈 就是自定义DataGridView,方便每个功能部分调用!简单!再次重申!!!后面源码会送上! 首先看一下登录,上图吧! 只有超级管理员跟管理员 接下来看一下主界面 更改DataGridView数据列https://www.xiuzhanwang.com/a1/C_jiaocheng/6272.html
7.学生信息管理系统的用例图和图书管理系统系统分析及用例图[通俗易借阅图书时需要图书证作为凭据,归还时不需要。 系统管理员负责系统的管理维护工作,维护工作包括图书的添加、删除和修改,书目的添加和删除,借阅者的添加、删除和修改,并且系统管理员能够查询借阅者、图书和图书管理员的信息。 查询图书可以通过图书的名称或图书的ISBN/ISSN号进行查找。https://cloud.tencent.com/developer/article/2091279
8.分享一个基于.net的学生信息管理系统C#高校教务管理系统(源码同时,教育部门对学生数据的实时性、准确性和安全性提出了更高的要求。在这种背景下,开发一个全面、高效的学生信息管理系统成为了教育机构的迫切需求。这个系统不仅要解决学生基本信息的录入和管理问题,还需要实现学习成绩、考勤记录、课程选择等多方面数据的集成管理,以及支持各级教育管理部门的数据统计和分析需求。https://www.jianshu.com/p/ead3c46a838f
9.C#医院LIS系统源码LIS实验室管理信息系统源码LIS检验系统源码报告管理:试管回执条码打印、检验报告集中管理、报告登记与接收、报告审核与打印、历史数据查询、数据存根、报告打印。 字典管理:系统参数、标本管理、试管管理、送检类型管理、检验项目管理、检验组合管理、平台设备管理、项目转换管理、接口对码。 医院设备站点:工作站点、医院设备、设备检验信息。 https://blog.itpub.net/70027963/viewspace-2955033/
10.C++项目实战:基于多态的职工管理系统(源码)51CTO博客1、管理系统需求 职工管理系统可以用来管理公司内所有员工的信息 本教程主要利用C++来实现一个基于多态的职工管理系统 公司中职工分为三类:普通员工、经理、老板,显示信息时,需要显示职工编号、职工姓名、职工岗位、以及职责 普通员工职责:完成经理交给的任务 https://blog.51cto.com/u_8238263/6022645
11.C#医院数字化LIS(检验信息系统)源码C#医院数字化LIS(检验信息系统)源码 临床检验信息管理系统(LIS)是利用计算机连接医疗设备,通过计算机信息处理技术,将医院检验科或实验室的临床检验数据进行自动收集、存储、处理、提取、传输和交换,满足所有授权用户的功能需求。 一、系统概述 1.LIS(化验信息系统)是一种专门用于医院化验室的计算机系统,它致力于提高医院https://open.alipay.com/portal/forum/post/162601015
12.ASP.NETCore适用于.NET的开源Web框架用于使用 .NET 和 C# 构建 Web 应用和服务的框架。 开始 Windows、Linux 和 macOS 上均支持 使用一个堆栈快速生成 Web 应用 ASP.NET Core 附带生成 Web 应用所需的一切内容,其中包括 Web UI 框架 Blazor,可用于快速创建在任何位置运行的快速、安全且可靠的 Web 应用。 https://asp.net/
13.WINFORMC#进销存软件源码讯易软件文件1003008 2011-01-04 13:50 供销存系统\进销存管理系统 合\JSMenagement\JSMenagement\bin\Debug\JSMenagement.exe此处省略210个文件信息 上一篇:HarrisCorner源代码 下一篇:C# 图书管理系统 源码 挑错 打印 评论 共有 条评论 相关资源HarrisCornerhttp://www.nz998.com/csharp/277153.html
14.c#bs考勤系统源码怎么查看页面源码钉钉帮助中心为您提供c# bs考勤系统源码相关问题的回答,更多c# bs考勤系统源码问题相关解答可以注册咨询钉钉人工客服。https://www.dingtalk.com/qidian/help-keyword-25459.html
15.C#源码医疗管理系统CS(winform)版本C#源码-医疗管理系统CS(winform)版本-源码下载 HR项目简介: 人力资源管理系统, 通过提高内部员工的满意度、忠诚度,从而提高员工贡献度,即绩效,帮助管理者通过有效组织管理降低成本和加速增长来创造价值链利润。 人力资源综合管理解决方案从人力资源管理的角度出发,用集中的数据将几乎所有与人力资源相关的信息(包括:组织http://www.csframework.com/archive/2/arc-2-20211018-3907.htm
16.C#仓库管理系统源码源码下载☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址 ☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持! ☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。 ☉ 本站提供的C#仓库管理系统源码资源来源互联网,版权归该下载资源的合法拥有者所有。https://www.jb51.net/codes/722431.html
17.php物业缴费管理系统(含论文)phpspringboot医药管理系统¥80.00查看 php自动排课管理系统(含论文)¥80.00查看 springboot车辆租赁管理系统(含论文)¥80.00查看 springboot毕业生实习管理系统(含论文)ligerui前端¥90.00查看 springboot学生管理系统(含论文)ligerui前端¥90.00查看 layui前端springboot疫苗接种信息管理系统(含论文)¥80.00查看 http://wenku.dagezi888.com/yuanma/show-5267.html