ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:24.05KB ,
资源ID:26892866      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26892866.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于c语言的图书管理系统毕业设计论文.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于c语言的图书管理系统毕业设计论文.docx

1、基于c语言的图书管理系统毕业设计论文基于c语言的图书管理系统毕业(设计)论文 图书分类号: 密 级: 毕业设计 论文 基于C语言的图书管理系统 Design and Implementation of Books Management System Based on C Language 学生姓名 学院名称 专业名称 指导教师 2012年 5月 日 摘要人类已经跨入了新世纪,正在进入信息化时代。信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求。随着馆藏量的不断增加,图书资料的录入和查询的难度也就相应增

2、加,数据处理手工操作,工作量大,出错率高,出错后不易更改的手工方式,已经不能满足要求。 基于此问题,建立一个规范化,系统化,程序化的图书管理系统迫不急待。为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写程序以提高图书馆的管理效率。使用程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,以便全面掌握图书的流通情况等等。 关键词:C语言;图书管理;数据处理;信息技术AbstractMankind has entered the new century, which is entering the information age. Wave of

3、 information technology, the network revolution has brought about the impact, but also make the library service has been badly hit,and library management and services of traditional methods can not meet the growing literature on the information the reader needs. With the continuous increase in the c

4、ollections, books, data entry and also a corresponding increase in the difficulty of queries, data processing manual operation, heavy workload, error rate, error is not easy to change after the manual mode can no longer meet the requirements. Based on this problem, the establishment of a standardize

5、d, systematic, process-oriented library management system can not wait. For the convenience of library books, readers information, such as borrowing and returning books for efficient management, especially the preparation of the management procedures to enhance the efficiency of the library. After u

6、sing the program, staff can search for certain readers, borrow some books, can also borrow books on the current situation of some statistics in order to fully grasp the flow of books. KEY WORDS:C language, Library Management, Data Processing, Information Technology摘要 IAbstract II1 绪论 11.1 选题的背景和选题的意

7、义 1 选题的背景 1 选题的意义 11.2 系统的特点 21.3 需求分析 22 系统的总体设计 32.1 系统总体设计 32.2运行环境和开发工具 3具 3境 42.3 系统流程图 43 系统的详细设计 63.1主体界面设计 6 6块 7块 8块 9块 10块 11块 12块 14数 154 系统调试 165系统运行 17结 论 21致 谢 22参考文献 23附录 程序源代码 241 绪论1.1 选题的背景和选题的意义 选题的背景随着社会,信息系统。在高校的图书管理中避免了手工操作。图书管理系统是图书馆的重要组成部分,图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的

8、图书管理员的工作日益繁重起来,迫使人们起用新的管理方法来管理图书。本文通过设计和开发图书馆管理系统的实践,阐述了图书管理软件中所应具有的功能、设计、实现。介绍了图书管理系统的设计和系统功能的实现过程。该系统可以运用于高校的图书管理,由图书,图书,等多个组成,实现了图书资料的计算机网络管理。一般通用的图书馆管理系统通常包括系统管理、读者管理、编目、图书流通、统计、查询等功能。比较先进的系统能够在一个界面下实现图书、音像、期刊的管理,设置假期、设置暂离锁、暂停某些读者的借阅权、导入导出读者资料、交换MARC Machine Readable Catalogue 数据、升级辅助编目库、征订图书等。此

9、外,随着工Internet应用的发展,一个完善的系统还应提供无缝接入Internet的功能,通过IE浏览器让读者使用借阅资料查询、更换密码、预约、资料检索等功能。有些系统还能提供读者自助服务,可以开放一些客户机让读者自行管理密码、查询自己的借阅史、预约资料、检索资料等。通过对中小型图书馆的调查、分析发现,用户的需求可分为4个方面:第一是图书馆的工作人员通过计算机来管理各类图书,分类编号、调整图书结构、增加图书库存,适应读者的需求。第二是读者能通过计算机来查询浏览图书馆中的图书,来确定自己需要的书籍,为借阅做好准备。第三是工作人员对读者的借书情况能够作好全面掌握,能及时得到每个读者的当前借阅状态

10、和历史借阅记录。第四也是图书馆的核心工作,对图书的借阅管理。在软、硬件方面对系统的需求是软件要易学,容易掌握,可以很简单方便地管理各种图书信息。硬件的配置要求不能太高,这样可以适应中小型图书馆的经济条件。中小型图书馆管理信息系统旨在提供一个可以操作的,方便查询的,易于修改的辅助管理系统。同时提供了系统智能辅助与用户自主选择的两种方式,提高查询效率C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作因为c 语言的各种优点,所以本系统使用c语言作为开发环境,简化了编写过程,简化了系统界面。C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言

11、的特点。它由美国贝尔研hie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。指针是C语言的一大特色,可以说是C语言优于其它高级语言的一个重要原因。就是因为它有指针,可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C+在这方面做了改进,在保留了指针操作的同时又增强

12、了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C+的教训,取消了指针操作,也取消了C+改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C+/C。一般而言,C,C+,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。境Microsoft Visual C+是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序

13、框架支持数据库接口、OLE2,WinSock网络、3D控制界面。它以拥有“语法高亮”,IntelliSense(自动编译功能)以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。系统使用Visual C+ 作为程序开发工具。Visual C+是基于对象的快速应用程序开发工具,是当今最强大、最灵活的应用程序开发工具之一,具有良好的可视化应用程序开发环境和强大的可扩展数据库功能。

14、利用Visual C+提供的可视化组件库进行编程,可以快速、高效地开发出基于Windows环境的各类应用程序。Visual C+语言的特点是面向对象设计的程序语言,Visual C+的基础编程语言是具有面向对象特性的语言,具有代码稳定、可读性好、编译速度快等优点,并将面向对象的概念移植到了C语言中,使这种基础语言有了新的发展空间。与其它编程软件相比,特别是在数据库和网络应用方面,Visual C+具有简便易用、灵活高效的特点。 图1 总体设计流程图设计时应该先设计出主题框架,采用自顶而下、由粗到细的设计方法,主题框架设计完成之后,我们可以再其基础上进行扩充和进一步的改进,从而满足基本的设计要求

15、,这样的设计可以避免模块的相互冲突。3 系统的详细设计主体函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。主体函数决定着系统的外观和效果,简洁的外观有助于人们更快的理解各项功能的作用,提高使用效率。流程图如下图2:图2 主函数流程图对应的主函数程序如下: void main void menu: page_title 操作选单 ; printf 请用数字键选择操作nn ; printf ttt1 注册新书ttt2 借阅图书 n ; printf ttt3 查询图书信息ttt4 修改图书信息n ; printf ttt5 归还图书ttt6 删除图书n

16、; printf ttt7 显示图书ttt8 退出系统n ; printf 请按数字键:n ; switch getch case 1 : book_add ; break; case 2 : book_out ; break; case 3 : book_search ; break; case 4 : book_change ; break; case 5 : book_in ; break; case 6 : book_del ; break; case 7 : book_show ; break; case 8 : exit 0 ; goto menu; 块该模块的功能是假如用户需要新

17、加入新的图书信息,通过键盘输入将新信息逐条加在原来输入文件上但不能覆盖原有信息。输入功能可以扩充图书管理系统的图数量,在实际中,这个是必备的功能,增加了该系统的使用性。流程图如下图3:图 3 输入模块流程图对应的程序如下:void book_add void int n; system cls ;page_title 注册新书 ; for n 0;n 100;n+ if booksn.id 0 break; printf 序号: ; scanf %d,&booksn.id ; printf 书名: ; scanf %s,&booksn.name ; printf 作者: ; scanf %s,

18、&booksn.author ; printf 出版社: ; scanf %s,&booksn.publish ; printf 数量: ; scanf %d,&booksn.total ; booksn.store booksn.total; return_confirm ; 块该模块用于显示所有图书信息,由于记录较多,故而采取分屏显示。显示完所有纪录后,用户需输入图书编号进而查找图书信息。流程图如下图4:图 4 删除模块流程图相关程序如下:int book_del void int n,num,i; system cls ; page_title 删除图书 ; printf 请输入所要删除

19、的书的编号: ; scanf %d,&num ; for n 0;n 100;n+ if booksn.id num for i n;i 100;i+ booksi.id booksi+1.id; strcpy booksi.name,booksi+1.name ; strcpy booksi.publish,booksi+1.publish ; printf 该书已删除.n ; return n; printf 没有找到相关记录n ; return -1; 块该模块功能应体现为用户输入图书书名,若有书则查询出来。查询模块式使用最多的功能之一,查找功能的好坏一定程度上决定了系统的好坏,好的查找

20、模块和算法可以简化人们查找的时间并且增加查找的准确率,所以查询模块必须设计得简洁并且有较快的响应速度流程图如下图5:图5 查询模块流程图int book_search void int n,i 1; char nam30; system cls ; printf 请输入书名: ; scanf %s,&nam ; for n 0;n 100;n+ if strcmp booksn.name,nam 0 printf 序号:%dt,booksn.id ; printf 书名:%st,booksn.name ; printf 作者:%st,booksn.author ; printf 出版社:%st

21、,booksn.publish ; printf 存数:%dt,booksn.store ; printf 总数:%dn,booksn.total ;i 0; if i 1 printf n没有找到相关记录.n ; return -1; 块该模块功能应体现为用户修改图书信息,若有记录则修改信息。流程图如下图6:图6 修改模块流程图相关程序如下: int book_change void int n,i; system cls ; page_title 修改图书信息 ; printf 请输入要修改的图书编号: ; scanf %d,&i ; for n 0;n 100;n+ if booksn.

22、id i printf 修改书名: ; scanf %s,booksn.name ; printf 修改 ; scanf %s,booksn.author ; printf 修改出版社名: ; scanf %s,booksn.publish ; printf 修改总数: ; scanf %d,&booksn.total ; printf 修改图书信息成功.n ; booksn.store booksn.total; return n; printf n没有找到相关记录.n ; return -1; 块该模块功能应体现为显示全部的图书信息。流程图如下图7:图7 显示模块流程图相关程序如下: in

23、t book_show void int n,i 1;system cls ; for n 0;n 100;n+ if strlen booksn.name ! 0 printf 序号:%dt,booksn.id ; printf 书名:%st,booksn.name ; printf 作者:%st,booksn.author ; printf 出版社:%st,booksn.publish ; printf 存数:%dt,booksn.store ; printf 总数:%dn,booksn.total ; i 0; if i 1 printf n没有找到相关记录.n ; return -1;

24、 块该模块功能应体现为用户输入图书序号,若有书则要求输入账号。流程图如下图8:图8 借书模块流程图相关程序如下:void book_out void int n,s,l,d;system cls ; page_title 借阅图书 ; if n search_book ! -1&booksn.store 0 printf 请输入借书证序号: ; scanf %d,&s ; printf 请输入可借天数: ; scanf %d,&d ; for l 0;l 10;l+ if booksn.usrl 0 booksn.usrl s; booksn.daysl d; break; booksn.st

25、ore-; if n! -1&booksn.store 0 printf 此书已经全部借出.n ; return_confirm ; 块该模块功能应体现为方便用户归还图书。归还模块主要的对书籍的数量进行更新,为下一位借阅的用户提供了借阅的可能性,由于计算机无法准确的识别书籍的破损程度,所以破损程度有图书管理员决定,并且应该制定相应的赔偿条款。流程图如下图9:图9 归还图书模块相关程序如下:void book_in void int n,s,l; page_title 归还图书 ; if n search_book ! -1&booksn.store booksn.total printf 借阅

26、者图书证列表:n ; for l 0;l 10;l+ if booksn.usrl! 0 printf %d- %d天n,booksn.usrl,booksn.daysl ; printf 请输入借书证序号: ; scanf %d,&s ; for l 0;l 10;l+ if booksn.usrl s booksn.usrl 0; booksn.daysl 0; break; booksn.store+; if n! -1&booksn.store booksn.total printf 全部入藏.n ; return_confirm ; 数定义结构体: struct BOOK int i

27、d,usr10,total,store,days10,zt; char name31,author21; books100;void page_title char *menu_item printf ttt*欢迎使用图书馆管理系统*nn- %s -nn,menu_item ; void return_confirm void printf n按任意键返回n ;getch ; 用一组简单的数据对程序进行调试各函数有出错现象然后用复杂数据对程序进行调试 数据测试时程序错误,要首先找到出错的函数对函数中各个变量进行观察,有时变量很多循环多重不要急对各个数据的观察对程序的调试有很大的帮助你也可以先对

28、几个变量熟悉后,在多重循环里,确定正确的数据将其跳过调试对有疑问的数据循环进行仔细观察虽然这是比较省力气的活但对复杂的数据错误并不是很有效所以仔细观察每个数据的变化对调试的成功与否有决定性作用 测试时根本的错误并不一定在运行错误的函数内或许在前面的函数内已经奠定了这些错误数据的基础需要反过头来对所有的的函数进行一项项的调试!从程序运行的第一个函数开始调试按照程序运行的步骤下去一个个的确定函数的正确性每确定一个函数在以后的调试中可以减少对该函数的调试次数,或者直接跳到下一个函数所谓的各个击破便是如此对头文件中的各个函数的返回值和它所要传入的参变量及其功能更是需要注意调试时,需要对错误缩小范围,从

29、整个程序到指定函数,再到指定区域,再到指定行,在对程序缩小范围或对编译没通过的程序缩小错误范围时可以用/* */来进行调试,确定正常范围,缩小错误范围图10 主界面观察各个界面的实际效果,注册新书的界面如图11 所示图11 新书注册借阅界面如图12所示图12 图书借阅 归还界面如图13所示图13 图书归还查询界面如图14所示图 14 图书查询修改界面如图15所示图15 修改图书删除界面如图16所示图 16 删除界面结 论经过以上各章节的,已经完成了图书馆管理系统的开发,图书馆系统是一套实用性非常强的系统,从小学、中学直到大学,很多人一直与图书馆打交道,图书馆的发展从手工管理、手工管理和计算机管理并行,直到现在的完全计算机管理。图书馆管理系统不仅需要灵活的交互功能,还需要经常与数据库进行联系,要求具有操作简单和功能强大的数据库访问能力。界面尽量美观友好、多彩多姿,完全的图形化设计,操作者易于上手,同时多种媒体技术的集成利用,可以方便的完成用户乐于接受的各种界面设计。4 高维春.C语言程序设计项目教程.北京:人民邮电出版社,20105 魏海新,李燕主编. C语言程序设计实用教程.北京:机械工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1