




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图书管理系统院 系 专 业 班 级 学 号 姓 名 指导教师 负责教师沈阳航空航天大学2012年5月沈阳航空航天大学毕业实习报告摘 要二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。如何获取信息?图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。迫使人们起用新的管理方法来管理图书,如何把图书管理员从繁重的工作中解脱出来呢?科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。因此,图书管理系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息 。关键词:C 语言;图书借阅管理系统;VC + + 6.0Abstract 21 centuries is resources that information that society, social most in conduct and actions in information, will become the strategy resources cause the extensive concern in people.How to obtain the information?Books is work that the way that we obtain the information best, but collect and keep to have great capacity the big increment because of the library books, make traditional books managing person increasingly heavy to get up.Forcing people rises to manage the books with the new management method, showing to set free out the books the managing person from the heavy work?The advance of the science technique continuous changes and improvements, let mankind the life took place the enormous variety, the calculator flies technically to develop soon, making the every trade get the extensive universality with use in the aspects of calculator technique applying.The information turns the ages comes the current that become cant resist, human civilization enter a brand-new ages.Therefore, books management system too with the convenience, fast, low advantage in expenses is entering people life slowly, manage the traditional books to way to set free out thoroughly, lift high-efficiency, alleviate workers personnel former busy work, let up to come amiss all rate, can make the reader spend more time at choose the book with read the in the book.From but make that people have more time to obtain the information, understand the information and control the information.Keywords: C programming language;Books management system management system;VC + + 6.0目 录1 引言11.1 本课题的开发背景11.2 本课题要达到的设计目标22 系统设计32.1 开发技术及工具32.2 系统功能模块42.3 系统主要流程分析63.1系统存储结构103.2系统主要功能的实现103.3系统调试中问题和解决办法23参考文献25致 谢26 III沈阳航空航天大学毕业实习报告1 引言图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。图书馆数据处理工作量大,容易出错,由于数据繁多,容易丢失,且不易查找。为了使图书借阅管理系统既能够提高工作效率,又可以提高工作水平。我使用visual C6.0作为开发工具,设计了一个可以实现图书增删改查、借书还书的一个图书借阅管理系统。1.1 本课题的开发背景随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。计算机网络近年来获得飞速的发展,十年前,很少有人接触过网络。如今,计算机网络已经成为我们社会结构的一个基本组成部分。网络已被应用到人类生活的各个方面,人们通过网络通信,共享资源,网上超市、电子银行等也应运而生,各种提供不同特色,不同内容的网站如雨后春笋般涌现。计算机网络的发展为人们打开了一种新的视野,促成了一个新领域新产业的产生。网络的发展试图用一种全新的概念冲击各个传统的商业模式,改变人们的生活方式。新的需求产生了,人们想通过网络进行个人通信、媒体传播、商业运作、办公、教学等。总之网络技术的发展促进了社会经济结构的变革。反之,社会经济对网络发展提出的新的需求又大大的促进了网络的发展,计算机网络及其所涉及的一系列技术成为计算机领域新的研究热点。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的WINDOWS系列等操作系统上使用。除此以外,图书馆管理系统已成为方便了广大师生、学校与外界之间的沟通架起了一座桥梁。但是,这并不能满足目前师生的需要。比如一些特定的需要要,在管理方面特别不方便,因为它受到地域的限制太大。就目前情况而言,急需充分利用网络方式的图书管理。我们的网络图书馆管理系统就是为了解决这问题而设计的。经过分析,我们使用microsoft公司的visual C开发工具。利用其提供的各种面向对象的开发工具能方便而简洁建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。1.2 本课题要达到的设计目标本系统可以实现以下功能:1.系统以菜单方式工作;v2.图书信息录入功能(图书信息用文件保存);3.图书信息浏览功能;4.查询功能;5.图书信息的删除与修改;6.办理借书手续;7.办理还书手续等等;8.退出程序。2 系统设计本图书管理系统包含8个模块:借书模块、还书模块、新书入库模块、注销书模块、查询图书信息模块、查询作者信息模块、排序模块、退出模块。2.1 开发技术及工具本系统是以Windows XP/7为环境,VC+6.0为应用程序,主要以C语言为编程语言完成代码的编写。VC+6.0是微软公司推出的开发Win32应用程序(Windows 95/98/2000/XP/NT)的、面向对象的可视化集成工具。它的最大优点就是提供了功能强大的MFC类库,MFC是一个很大的C+类层次结构,其中封装了大量的类及其函数,很多Windows程序所共有的标准内容可以由MFC的类来提供,MFC类为这些内容提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓,这将简化编程工作,大大的减少程序员编写的代码数量,使编程工作变得更加轻松容易。C语言是最基本的编程语言,其有以下优点:1.数据结构丰富。C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。 2.C是结构式语言。 结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 3.C语法限制不太严格,程序设计自由度大。虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。 4.C语言允许直接访问物理地址,可以直接对硬件进行操作。由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。 5. 生成目标代码质量高,程序执行效率高,适用范围大。一般只比汇编程序生成的目标代码效率低1020%。C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX;也适用于多种机型。 2.2 系统功能模块主函数是程序入口,采用模块化设计。首先在主程序中调出欢迎界面,定义一些必要变量,作一无限循环程序,循环体为一开关语句,该语句设置一个断点,其条件值是通过调用主菜单函数得到的返回值,根据该值,调用相应的功能函数,同时设置一个断点,当返回值为一定条件时结束程序。该系统包含如下8个模块:1借书模块:该模块对图书进行借阅。2还书模块:还书操作。3新书入库:对新进的图书进行信息添加。4注销书:对图书进行删除操作。5查询图书信息:通过图书序号进行查询。6.查询作者信息:通过作者姓名进行图书查询。7.排序:对新进图书进行序号排序。8.退出:退出图书操作系统。 图2.1总体结构图开始2.3 系统主要流程分析输要归还图书编号(定义为:id)检查输入的编号是否为库存的书。且还书数量与当前库存量和是否大于总库存 否 是输入借阅的图书以及相应信息总库存减借出数量是否大于0 否 是结束 图2.2增加图书1. 借书:该模块是对借阅图书进行相应操作。运用if语句进行判断选择,看目录中试否有该书信息,有则根据提示进行相应操作。运用while循环判当借书的数量是否大于库存量时,大于则要求再次输入,直至输入达到要求为止。void book_out(void) int n,s,l,d,x; . if(n=search_book()!=-1&booksn.store0) 。输入查询信息部分. while(xbooksn.store) .输入信息部分 for(l=0;l10;l+) if(booksn.usrl=0) booksn.usrl=s;booksn.daysl=d; break; booksn.store=booksn.store-x; if(n!=-1&booksn.store=0) .2. 还书:该模块是对归还图书进行相应操作。运用if语句进行判断选择,看目录中试否有该书信息,有则根据提示进行相应操作。运用while循环判归还图书的数量是否大于库存量与现存量之差,大于则要求再次输入,直至输入达到要求为止。void book_in(void) int n,s,l,x; . if(n=search_book()!=-1&booksn.storebooksn.total) printf(借阅者图书证列表:n); for(l=0;l(booksn.total-booksn.store) 输入归还信息. for(l=0;l10;l+) if(booksn.usrl=s) booksn.usrl=0; booksn.daysl=0; break; booksn.store=booksn.store+x; if(n!=-1&booksn.store=booksn.total) .;3. 新书入库:该模块是把新进图书进行入库处理,可输入图书的一些基本信息。例如:书号、书名、作者、现存量和库存量。 int book_add(void) char c; int n; . for(n=0;n100;n+) if(booksn.id=0) break; 图书的信息录入。 booksn.store=booksn.total; return_confirm(); c=getchar(); return n;4. 注销书:该部分是图书目录中已有图书进行注销处理,删除该书在目录中的各种信息。 void book_del(void) int n; . if(n=search_book()!=-1) booksn.id=0; printf(该书已注销.n); . 5. 排序:对输入图书的编号进行升序排列。当图书目录为空时,显示“库存中无此书”。运用双层循环,i和j比较,i为0为止图书书号,j为i的下一个图书书号,当i书号大于j书号。运用第三变量进行交换,例如:a=b;b=c;c=a;。 void paixu(void) /*排序*/ char t210; char t310; int t4; int t5; int t, i,j; system(cls);for(i=0;i100;i+) for(j=i+1;jbooksj.id)t=booksi.id;strcpy(t2,);strcpy(t3,booksi.author);t4=booksi.total;t5=booksi.store;booksi.id=booksj.id;strcpy(,);strcpy(booksi.author,booksj.author);booksi.total=booksj.total;booksi.store=booksj.store;booksj.id=t;strcpy(,t2);strcpy(booksj.author,t3);booksj.total=t4;booksj.store=t5; printf(恭喜你排序成功!n);for(i=0;i100;i+) if (booksi.id!=0) 打印图书信息.;6. 查询图书信息:该模块是对指定图书编号进行查询。当输入一需查询图书书号后,在图书目录中进行查询,用if判断是否有此书。有则打印该书信息。无则打印“图书书号不存在”。int book_reader(void) system(cls);int n,i; printf(请输入图书序号:); scanf(%d,&i); for(n=0;n100;n+) if(booksn.id=i) .打印图书信息。return n; printf(n输入有错或图书序号不存在!n); return -1; 7. 查询作者信息:当选择该模块后,输入要查询的作者信息后,会打印出该作者所著的所有书籍。用strmp进行字符串比较,当strmp=0时,查找到该作者,打印信息。int book_writer(void) int n; char writer20,c;作者信息的输入。for(n=0;n 欢 迎 进 入 图 书 管 理 系 统-请 按 要 求 操 作 nn- %s -nn,menu_item); /*页头函数,可以通过参数menu_item,显示当前状态。*/ void return_confirm(void) printf(n任意键返回n); getch(); /*返回前请求确认函数,方便返回前观察结果*/ int search_book(void) int n,i; printf(请输入图书序号:); getch(); scanf(%d,&i); for(n=0;n0) printf(请输入借书证序号:); scanf(%d,&s); printf(请输入可借天数:); scanf(%d,&d); printf(请输入要借数量:); scanf(%d,&x); while(xbooksn.store) printf(输入错误); printf(请输入要借数量:); scanf(%d,&x); for(l=0;l10;l+) if(booksn.usrl=0) booksn.usrl=s; booksn.daysl=d; break; booksn.store=booksn.store-x; if(n!=-1&booksn.store=0) printf(此书已经全部借出.n); return_confirm(); /*借书的函数,首先调用找书函数*/ int book_reader(void) int n,i;system(cls); printf(请输入图书序号:); scanf(%d,&i); for(n=0;n100;n+) if(booksn.id=i) printf(书名:%sn,); printf(作者:%sn,booksn.author); printf(存数:%dn,booksn.store); printf(总数:%dn,booksn.total); return n; printf(n输入有错或图书序号不存在!n); return -1; int book_writer(void) int n; char writer20;char c;system(cls);printf(请输入作者姓名:); scanf(%s,writer); c=getchar();for(n=0;n100;n+) if(strcmp(writer,booksn.author)=0) printf(书名:%s,); printf(作者:%s,booksn.author); printf(存数:%d,booksn.store); printf(总数:%dn,booksn.total); return n;getch();printf(n输入有错或作者不存在.n); return -1; void book_in(void) int n,s,l,x; system(cls); page_title(还书); if(n=search_book()!=-1&booksn.storebooksn.total) printf(借阅者图书证列表:n); for(l=0;l(booksn.total-booksn.store) printf(输入错误); printf(请输入要还数量:); scanf(%d,&x); for(l=0;l10;l+) if(booksn.usrl=s) booksn.usrl=0; booksn.daysl=0; break; booksn.store=booksn.store+x; if(n!=-1&booksn.store=booksn.total) printf(全部入藏.n); return_confirm(); int book_add(void) char c; int n; system(cls); page_title(新书入库); for(n=0;n100;n+) if(booksn.id=0) break; printf(序号:); scanf(%d,&booksn.id); printf(书名:); scanf(%s,&); printf(作者:); scanf(%s,&booksn.author); printf(数量:); scanf(%d,&booksn.total); booksn.store=booksn.total; return_confirm(); c=getchar(); return n; void paixu(void) /*排序*/ char t210; char t310; int t4; int t5; int t, i,j; system(cls);for(i=0;i100;i+) for(j=i+1;jbooksj.id)t=booksi.id;strcpy(t2,);strcpy(t3,booksi.author);t4=booksi.total;t5=booksi.store; booksi.id=booksj.id; strcpy(,);strcpy(booksi.author,booksj.author);booksi.total=booksj.total;booksi.store=booksj.store;booksj.id=t; strcpy(,t2);strcpy(booksj.author,t3);booksj.total=t4;booksj.store=t5; printf(恭喜你排序成功!n);for(i=0;i-1 借书-2 还书-3 新书入库-4 注销书-5 查询图书信息-6 查询作者信息-7 排序-0 退出-*n); switch(getch() case 1 : book_out();break; case 2 : book_in();break; case 3 : book_add();break; case 4 : book_del();break; case 5 : book_reader();break; case 6 : book_writer();break; case 7 : paixu();break; case 0 : exit(0); goto menu; 图3.1主菜单能够进行下列操作新书入库 序号:02 书名:语文 作者:asd 数量:50 01 书名:数学 作者:qwe 数量:20图3.2新书入库排序 序号:01 书名:数学 作者:qwe 数量:20 序号:02 书名:语文 作者:asd 数量:50图3.3排序查询图书信息 请输入图书序号:01 书名:数学 作者:qwe 数量:20图3.4查询图书信息查询作者信息 请输入作者姓名:asd书名:语文 作者:asd 数量:50图3.5查询作者信息借书 请输入图书序号:01 书名:数学 作者:qwe 存数:20 总数:20 请输入借书证序号(图书证):01 请输入可借天数:3 请输入要借数量:10 (当输入值超过总数会提示重新输入) (这时候可以进行查询图书现存量检测是否已借出)图3.6借书还书 请输入图书序号:01书名:数学 作者:qwe 存数:10 总数:20请输入借书证序号(图书证):01 请输入所还数量:10 (全部入藏。这是可以进行图书查询检查是否全部入藏)图3.7还书注销书 请输入图书序号:02书名:语文 作者:asd 数量:50该书已注销!(这是可进行图书查询检测是否已经注销) 图3.8注销书3.3系统调试中问题和解决办法1.要正确运用清屏函数“system(cls);”。2.进行排序时 函数比较时,要注意:“booksi.total=booksi.total;”正确改法“bo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 引力波与时空的奥秘-洞察及研究
- 保险行业合规与产品知识试卷含答案及答案参考
- 城市化进程中的碳排放问题-洞察及研究
- 工程招标投标法规知识考试试卷及答案解析
- 极端盐度生物效应-洞察及研究
- 个性化交通流量预测-洞察及研究
- 护理社团笔试题目及答案
- 工厂安全生产管理标准手册
- 七年级数学章节精讲及答题技巧
- 高中化学金属性质实验课件
- 保密观考试题及答案2025保密观知识竞赛试题及答案
- 老年综合征与护理试题及答案
- 3.2《参与民主生活》教案 2025-2026学年度道德与法治九年级上册 统编版
- 社团招新课件
- 老年髋部骨折围手术期衰弱护理管理专家共识解读
- 2025版农业合作社成员个人借款合同范本
- 高职院校科研能力建设的区域性差异分析及精准提升路径研究
- 四链融合:新质生产力的深度路径
- 酒店房卡管理制度与操作流程
- 2025一建《水利水电工程管理实务》思维导图
- 003-04-PFMEA第五版表格模板-(带实例)-2020.2.3
评论
0/150
提交评论