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

上传人:仙*** 文档编号:34031833 上传时间:2021-10-20 格式:DOC 页数:35 大小:493.66KB
收藏 版权申诉 举报 下载
基于c语言的图书管理系统毕业论文_第1页
第1页 / 共35页
基于c语言的图书管理系统毕业论文_第2页
第2页 / 共35页
基于c语言的图书管理系统毕业论文_第3页
第3页 / 共35页
资源描述:

《基于c语言的图书管理系统毕业论文》由会员分享,可在线阅读,更多相关《基于c语言的图书管理系统毕业论文(35页珍藏版)》请在装配图网上搜索。

1、摘要人类已经跨入了新世纪,正在进入信息化时代。信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求。随着馆藏量的不断增加,图书资料的录入和查询的难度也就相应增加,数据处理手工操作,工作量大,出错率高,出错后不易更改的手工方式,已经不能满足要求。 基于此问题,建立一个规范化,系统化,程序化的图书管理系统迫不急待。为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写程序以提高图书馆的管理效率。使用程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,以便全面掌握

2、图书的流通情况等等。关键词:C语言;图书管理;数据处理;信息技术AbstractMankind has entered the new century, which is entering the information age. Wave of 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 traditi

3、onal methods can not meet the growing literature on the information the reader needs. With the continuous increase in the collections, 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

4、change after the manual mode can no longer meet the requirements. Based on this problem, the establishment of a standardized, systematic, process-oriented library management system can not wait. For the convenience of library books, readers information, such as borrowing and returning books for effi

5、cient management, especially the preparation of the management procedures to enhance the efficiency of the library. After using 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

6、books. KEY WORDS:C language, Library Management, Data Processing, Information Technology目 录摘要IAbstractII1 绪论11.1 选题的背景和选题的意义11.1.1 选题的背景11.1.2 选题的意义11.2 系统的特点21.3 需求分析22 系统的总体设计32.1 系统总体设计32.2运行环境和开发工具32.2.1开发工具32.2.2运行环境42.3 系统流程图43 系统的详细设计63.1主体界面设计63.1.1主函数63.1.2输入模块73.1.3删除模块83.1.4查询模块93.1.5修改模块

7、103.1.6显示模块113.1.7借出模块123.1.8归还模块143.1.9公共函数154 系统调试165系统运行17结 论21致 谢22参考文献23附录 程序源代码241 绪论1.1 选题的背景和选题的意义1.1.1 选题的背景随着社会的发展,信息管理系统越来越受到人们的重视,运用信息管理系统可以减少人们的工作量和工作时间,让我们不必花费大量的时间在查找上,所以信息管理系统越来越受到管理人员的青睐并且被普遍应用与各行各业中。在高校的图书管理中因为书籍数量的庞大,手工是很难有效率的管理,运用图书管理系统则可以避免了手工操作而造成的错误操作和减轻工作人员的工作量。图书管理系统是图书馆的重要组

8、成部分,图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来,迫使人们起用新的管理方法来管理图书。本文通过设计和开发图书馆管理系统的实践,阐述了图书管理软件中所应具有的功能、设计、实现。介绍了图书管理系统的设计和系统功能的实现过程。该系统可以运用于高校的图书管理,由图书借阅,图书归还,图书查询,图书信息修改,等多个模块组成,实现了图书资料的计算机网络管理。一般通用的图书馆管理系统通常包括系统管理、读者管理、编目、图书流通、统计、查询等功能。比较先进的系统能够在一个界面下实现图书、音像、期刊的管理,设置假期、设置暂离锁、暂停某些读者的借阅权、导入导

9、出读者资料、交换MARC(Machine Readable Catalogue)数据、升级辅助编目库、征订图书等。此外,随着工Internet应用的发展,一个完善的系统还应提供无缝接入Internet的功能,通过IE浏览器让读者使用借阅资料查询、更换密码、预约、资料检索等功能。有些系统还能提供读者自助服务,可以开放一些客户机让读者自行管理密码、查询自己的借阅史、预约资料、检索资料等。1.1.2 选题的意义由于现在图书数量的日益增加,如何对图书进行管理便成为了一个迫切要解决的问题,因为有现代技术的帮助,我们可以借助计算机来解决繁重的图书管理问题。利用计算机科技可以提高图书管理的效率和准确率,然而

10、,不同的处理方法会有不同的效率,因此,选择一个好的算法和编辑一个好的程序便成为了人们正在研究的问题,好的算法和程序可以更好地管理图书并且降低系统冗余度。图书馆是信息的处理和收集的地方,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本,表格等纸介质的手工处理,数据处理工作量大,容易出错。由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基于环境

11、。1.2 系统的特点由于系统是基于Visual C+6.0为开发环境开发出来的在DOS界面下的图书管理系统,系统简洁易于操作,用户界面友好,人机交互方便。便于人们初步了解并使用图书管理系统,是信息管理变得简单,简化人们的工作量,检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、数据冗余度比较低、系统稳定性比较好等。1.3 需求分析本系统根据常规的图书馆的基本功能有录入、删除、查询、修改、借书、还书等功能。分为添加和删除都采用链式结构的原理去执行文件。在读者区读者可以按编号或书名轻松找到所需书的信息,这里也采用的是链式结构原理执行。与此同时,本系统操作界面很

12、是简单清晰,一目了然,给读者以舒服的感官效果。同时该系统中用到结构体,数组等编程用法。通过对中小型图书馆的调查、分析发现,用户的需求可分为4个方面:第一是图书馆的工作人员通过计算机来管理各类图书,分类编号、调整图书结构、增加图书库存,适应读者的需求。第二是读者能通过计算机来查询浏览图书馆中的图书,来确定自己需要的书籍,为借阅做好准备。第三是工作人员对读者的借书情况能够作好全面掌握,能及时得到每个读者的当前借阅状态和历史借阅记录。第四也是图书馆的核心工作,对图书的借阅管理。在软、硬件方面对系统的需求是软件要易学,容易掌握,可以很简单方便地管理各种图书信息。硬件的配置要求不能太高,这样可以适应中小

13、型图书馆的经济条件。所以中小型图书馆管理信息系统旨在提供一个可以操作的,方便查询的,易于修改的辅助管理系统。同时提供了系统智能辅助与用户自主选择的两种方式,提高查询效率根据系统特点确定了开发模型,再通过对系统进行需求分析研究,建立结构化分析,系统功能模块,系统流程图。然后通过对各个功能模块进行深入分析,确定数据的定义和属性,及各功能的实现。论文介绍了图书管理系统的运行环境和开发环境,结合了数据结构的相关知识。最终设计实现了借还书籍,书籍管理等图书管理系统的基本功能。作为计算机应用的一部分,具有着手工管理所无法比拟的优点。 2 系统的总体设计2.1 系统总体设计实用的图书馆管理系统应该包括:u

14、录入:新进图书及基本信息输入u 删除:旧图书及基本信息删除u 查询:查询要借阅的图书信息u 修改:修改已有的图书信息u 借书:实现用户办理借书手续u 还书:实现用户.办理还书手续系统以菜单方式工作可以使界面友好,易于操作。用户可以对本系统进行自己需要的查询或修改操作,如根据用户的需求自动的进行添加操作、删除操作、借还操作。我们也可以查找所要的图书、查阅图书的详细资料、查阅读者的详细资料。最后清晰完整的结果于屏幕中。方便使用者对图书借阅的操作,提高准确性,可以达到事半功倍的效果。系统采用的是自顶向下、层次化的模块结构。对于高层模块,采用以事务为中心的设计策略,把一个大的模块逐步分解成较小的相对简

15、单的模块。对低层模块,采用以变换为中心的设计策略。为了达到高内聚,低耦合的效果,我们可以把每个模块设计成具有单一功能的模块(即功能内聚),使模块间的联系完全是通过主模块的控制和调用来实现(即非直接耦合)。2.2运行环境和开发工具2.2.1开发工具本系统采用c语言作为开发工具,c语言的主要特点如下:(1) 语言简洁、紧凑,使用方便。(2) 运算符和数据类型丰富,具有现代语言的各种数据结构。(3) 具有结构化的语句,。(4) 语法限制不太严格,程序设计自由度大。(5) 生成的目标代码质量高,程序执行效率高。(6) 用c语言编写的程序可移植性比较好,基本上不做任何修改就能运用于各种型号的操作系统中。

16、(7) C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作因为c 语言的各种优点,所以本系统使用c语言作为开发环境,简化了编写过程,简化了系统界面。C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,

17、三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。指针是C语言的一大特色,可以说是C语言优于其它高级语言的一个重要原因。就是因为它有指针,可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C+在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C+的教训,取消了指针操作,也取消了C+改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C+/C。一般而言,C,C+,java被视为同一系的语言,它们长期占据

18、着程序使用榜的前三名。2.2.2运行环境Microsoft Visual C+是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。它以拥有“语法高亮”,IntelliSense(自动编译功能)以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预编译头文件、最小

19、重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。系统使用Visual C+ 作为程序开发工具。Visual C+是基于对象的快速应用程序开发工具,是当今最强大、最灵活的应用程序开发工具之一,具有良好的可视化应用程序开发环境和强大的可扩展数据库功能。利用Visual C+提供的可视化组件库进行编程,可以快速、高效地开发出基于Windows环境的各类应用程序。Visual C+语言的特点是面向对象设计的程序语言,Visual C+的基础编程语言是具有面向对象特性的语言,具有代码稳定、可读性好、编译速度快等优点,并将面向对象的概念移植到了C语言中,使

20、这种基础语言有了新的发展空间。与其它编程软件相比,特别是在数据库和网络应用方面,Visual C+具有简便易用、灵活高效的特点。2.3 系统流程图本文的主题框架如图1所示信息输入图书馆管理系统信息删除信息查询信息修改显示信息图书借出图书归还 图1 总体设计流程图设计时应该先设计出主题框架,采用自顶而下、由粗到细的设计方法,主题框架设计完成之后,我们可以再其基础上进行扩充和进一步的改进,从而满足基本的设计要求,这样的设计可以避免模块的相互冲突。3 系统的详细设计3.1主体界面设计3.1.1主函数主体函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。主体函

21、数决定着系统的外观和效果,简洁的外观有助于人们更快的理解各项功能的作用,提高使用效率。流程图如下图2:显示功能选项输入n的值,判断n是否属于1到8根据输入的值调用各功能模块的功能YESNO图2 主函数流程图对应的主函数程序如下: void main(void) menu: page_title(操作选单); printf(请用数字键选择操作nn); printf(ttt1 注册新书ttt2 借阅图书 n); printf(ttt3 查询图书信息ttt4 修改图书信息n); printf(ttt5 归还图书ttt6 删除图书n); printf(ttt7 显示图书ttt8 退出系统n); pri

22、ntf(请按数字键: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; 3.1.2输入模块该模块的功能是假如用户需要新加入新的图书信息,通过键盘输入将新

23、信息逐条加在原来输入文件上但不能覆盖原有信息。输入功能可以扩充图书管理系统的图数量,在实际中,这个是必备的功能,增加了该系统的使用性。流程图如下图3:显示图书信息输入提示i从0到N-1调用输入函数input(i)I!=0保存函数save(n)图 3 输入模块流程图对应的程序如下:void book_add(void) int n; system(cls);page_title(注册新书); for(n=0;n100;n+) if(booksn.id=0) break; printf(序号:); scanf(%d,&booksn.id); printf(书名:); scanf(%s,&books

24、n.name); printf(作者:); scanf(%s,&booksn.author); printf(出版社:); scanf(%s,&booksn.publish); printf(数量:); scanf(%d,&booksn.total); booksn.store=booksn.total; return_confirm(); 3.1.3删除模块该模块用于显示所有图书信息,由于记录较多,故而采取分屏显示。显示完所有纪录后,用户需输入图书编号进而查找图书信息。流程图如下图4: 要删除的图书序号是否有此书此书已经删除没有相关信息返回主菜单YESNO 图 4 删除模块流程图相关程序如下

25、:int book_del(void) int n,num,i; system(cls); page_title(删除图书); printf(请输入所要删除的书的编号:); scanf(%d,&num); for(n=0;n100;n+) if(booksn.id=num) for(i=n;i100;i+) booksi.id=booksi+1.id; strcpy(booksi.name,booksi+1.name); strcpy(booksi.publish,booksi+1.publish); printf(该书已删除.n); return n; printf(没有找到相关记录n);

26、return -1; 3.1.4查询模块该模块功能应体现为用户输入图书书名,若有书则查询出来。查询模块式使用最多的功能之一,查找功能的好坏一定程度上决定了系统的好坏,好的查找模块和算法可以简化人们查找的时间并且增加查找的准确率,所以查询模块必须设计得简洁并且有较快的响应速度流程图如下图5:显示主菜单,输入数字输入需要查询的书名是否有此书显示图书信息没有相关记录返回主菜单YESNO图5 查询模块流程图相关程序如下: int book_search(void) int n,i=1; char nam30; system(cls); printf(请输入书名:); scanf(%s,&nam); f

27、or(n=0;n100;n+) if(strcmp(booksn.name,nam)=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; 3.1.5修改模块该模块功能应体现为用户修改图书信息,若有记录则修改信息

28、。流程图如下图6:要修改的图书编号是否有此书输入修改后数据没有相关信息返回主菜单YESNO 图6 修改模块流程图相关程序如下: int book_change(void) int n,i; system(cls); page_title(修改图书信息); printf(请输入要修改的图书编号:); scanf(%d,&i); for(n=0;n100;n+) if(booksn.id=i) printf(修改书名:); scanf(%s,booksn.name); printf(修改作者:); scanf(%s,booksn.author); printf(修改出版社名:); scanf(%s

29、,booksn.publish); printf(修改总数:); scanf(%d,&booksn.total);printf(修改图书信息成功.n); booksn.store=booksn.total; return n; printf(n没有找到相关记录.n); return -1; 3.1.6显示模块该模块功能应体现为显示全部的图书信息。流程图如下图7:显示主菜单,输入文字是否有图书所有图书信息没有相关信息返回主菜单YESNO 图7 显示模块流程图相关程序如下: int book_show(void)int n,i=1;system(cls); for(n=0;n0) printf(请

30、输入借书证序号:); scanf(%d,&s); printf(请输入可借天数:); scanf(%d,&d); for(l=0;l10;l+) if(booksn.usrl=0) booksn.usrl=s; booksn.daysl=d; break; booksn.store-; if(n!=-1&booksn.store=0) printf(此书已经全部借出.n); return_confirm(); 3.1.8归还模块该模块功能应体现为方便用户归还图书。归还模块主要的对书籍的数量进行更新,为下一位借阅的用户提供了借阅的可能性,由于计算机无法准确的识别书籍的破损程度,所以破损程度有图书

31、管理员决定,并且应该制定相应的赔偿条款。流程图如下图9:输入要归还的图书编号是否有图书显示记录,输入相关信息没有相关信息返回主菜单YESNO 图9 归还图书模块相关程序如下:void book_in(void) int n,s,l; page_title(归还图书); if(n=search_book()!=-1&booksn.storebooksn.total) printf(借阅者图书证列表:n); for(l=0;l10;l+) if (booksn.usrl!=0) printf(%d- %d天n,booksn.usrl,booksn.daysl); printf(请输入借书证序号:)

32、; scanf(%d,&s); for(l=0;l10;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(); 3.1.9公共函数定义结构体: struct BOOK int id,usr10,total,store,days10,zt; char name31,author21; books100;void page_title(char *menu_item)

33、 printf(ttt*欢迎使用图书馆管理系统*nn- %s -nn,menu_item); void return_confirm(void) printf(n按任意键返回n);getch(); 4 系统调试系统测试的目的是为了发现错误而执行程序的过程,成功的测试时发现了至今尚未发现的错误的测试。测试的目的就是希望能以最少的人力和事件发现潜在的各种错误和缺陷,我们应该根据开发个阶段的需求、设计等文档或程序的内部结构精心设计测试实例,并利用这些实例来运行程序,以便发现错误的过程。系统测试的原则应该遵循以下基本规则。(1) 应该尽早并且不断地进行测试。测试不是在系统开发完之后才进行的,由于原始问

34、题的复杂性、开发阶段的多样性以及参加人员的细条等因素,在开发过程中的各个阶段都有可能出现错误,因此,测试应该贯穿在开发的各个阶段,我们应该尽早纠正作物,消除隐患。(2) 测试工作应该避免由原开发软件的人来进行,一方面,开发人员往往不愿否认自己的工作,总认为自己开发的软件过程序没有错误,另一方面,开发人员往往很难发现自己的错误,具有局限性,所以我们应该找其他人来帮忙检查程序。这样会变得更客观,更有效。(3) 设计测试方案时,不仅要确定输入数据,而且要根据系统功能来确定预期的输出效果和结果。将实际输出结果和预期结果相比较就能发现测试的对象是否正确,是否有一些隐患。(4) 在设计测试用例时,不仅要设

35、计有效合理的输入条件,还要包含不合理、失效的输入条件。测试的时候,人们往往习惯按照合理的、正常的情况下进行测试,从而忽略了对异常、不合理、意想不到的情况进行测试,而这些情况可能都是隐患,可能会造成系统的崩溃。(5) 在测试程序时,不仅要检验程序是否做了该做的事情,还要检验程序是否做了不该做的事情。多余的工作会带来副作用,影响程序的效率,有事会带来潜在的危害或者错误。(6) 严格按照测试计划来进行,避免测试的随意性。测试计划应该包括测试内容、进度安排、测试环境、测试工具和测试资料等。严格按照测试计划可以保证进度,使各方面都得以协调进行。(7) 妥善保存测试计划、测试用例,作为软件文档的组成部分,

36、为了以后维护的方便做了铺垫。(8) 测试用例都是精心设计出来的,可以为重新测试或者追加测试提供方便。当纠正错误、系统功能扩充后,都需要重新进行测试,而这些工作重复性很高,可以利用以前的测试用例,或者在其基础上进行修改,然后在进行测试,这样科技简化系统的维护时间并且提高了维护的效率。在系统调试过程中,我们可以利用一组简单的数据对程序进行调试,来观察各函数是否有出错现象。然后用复杂数据对程序进行调试。然后我们要对系统的各项能力进行测试,看看有没有漏洞或者死循环现象。 数据测试时,如果程序程序错误,要首先找到出错的函数,对函数中各个变量进行观察,有时变量很多,循环多重不要急,对各个数据的观察,对程序

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

38、要传入的参变量及其功能更是需要注意。调试时,需要对错误缩小范围,从整个程序到指定函数,再到指定区域,再到指定行,在对程序缩小范围或对编译没通过的程序缩小错误范围时可以用/* */来进行调试,确定正常范围,缩小错误范围。5系统运行在多次的调试后,系统运行的界面如图10所示图10 主界面观察各个界面的实际效果,注册新书的界面如图11 所示图11 新书注册借阅界面如图12所示图12 图书借阅 归还界面如图13所示图13 图书归还查询界面如图14所示图 14 图书查询修改界面如图15所示图15 修改图书删除界面如图16所示图 16 删除界面结 论经过以上各章节的功能,已经基本完成了图书馆管理系统的开发

39、,图书馆系统是一套实用性非常强的系统,从小学、中学直到大学,很多人一直与图书馆打交道,图书馆的发展从手工管理、手工管理和计算机管理并行,直到现在的完全计算机管理。图书馆管理系统不仅需要灵活的交互功能,还需要经常与数据库进行联系,要求具有操作简单和功能强大的数据库访问能力。界面尽量美观友好、多彩多姿,完全的图形化设计,操作者易于上手,同时多种媒体技术的集成利用,可以方便的完成用户乐于接受的各种界面设计。本系统虽具备了基本的功能,但由于时间关系,还有很多功能待实现,在此基础上结合实际应用中所出现的问题,要改善图书的入库和删除功能,使工作人员在主界面上就能进行其操作;在过期天数中应该增加罚款的功能;

40、如果作为校园的图书管理系统,应区分出不同身分的人(如教师和学生)的借阅权限等。通过这次编程我深深的感受到对代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同人员之间的协作。 我们还要有模块化思维能力,模块化思维就是编程任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作。善于总结,也是学习能力的一种体现,每次完成一个编程任务,完成一段代码,都应当

41、有目的的跟踪该程序的应用状况,随时总结,找到自己的不足,这样所编写的程序才能逐步提高。 致 谢经过几个月的忙碌,本次毕业论文设计已经接近尾声。,由于经验的匮乏,难免有许多考虑不到的地方,在多次的修改和研究之后才写出完成。如果没有导师的督促和指导,以及同学和朋友的支持,想要完成这个毕业论文设计是难以想像的。感谢同学和朋友的及时帮助和教导。在论文的写作过程中,得到了陈豹老师的亲切关怀和耐心的指导。老师严谨的治学态度和科学的工作方法给了我极大的帮助和影响。从课题的选择得到毕业论文设计最终完成,老师都始终给予我细心的指导。在此谨向陈豹老师致以诚挚的谢意和崇高的敬意。同时,也要感谢各位老师,同学和朋友们

42、给我极大的支持,对我的论文提出了宝贵的意见及建议。感谢所有帮助我的老师、同学和朋友们,在此向他们表达我的感激之情。参考文献1 张宗杰. C语言程序设计实用教程. 北京:电子工业出版社,2009.58-1512 张淑平. 程序员教程.北京:清华大学出版社.,2011.42-3283 谭浩强. C程序设计. 北京:清华大学出版社.,2005.91-3104 高维春.C语言程序设计项目教程.北京:人民邮电出版社,2010.54-675 魏海新,李燕主编. C语言程序设计实用教程.北京:机械工业出版社,2007.161-1746 李泽中,孙红艳主编. C语言程序设计.北京:清华大学出版社,2008.9

43、8-1017 路俊维,马雪松主编. C语言程序设计.北京:中国铁道工业出版社,2009.78-988 王敬华等. C语言程序设计教程.北京:清华大学出版社,2005.45-649 张明慧. Visual C+开发图书管理系统.北京:北京师范大学,2005.32-4010 陈朔鹰等. C语言程序设计基础教程.北京:兵器工业出版社,1994.78-9711 谭浩强.C程序设计题解与上机指导.北京:清华大学出版社,2005.130-15512 严蔚敏,吴伟民.数据结构(C语言版).北京:清华大学出版社,2007.59-10713 C编写组编.常用C语言用法速查手册.北京:龙门书局,1995.34-4

44、514 张俐,杨莹编著.C语言高级程序设计.北京:清华大学出版社,2006.67-7815 Stephen G Kochan.Programming in ANSI C.Hagden Book Indianapolis:Indina,U.S.A,1994.129-201附录 程序源代码#include #include #include #include struct BOOK int id,usr10,total,store,days10; char name30,author20,publish40; books100;void page_title(char *menu_item) pr

45、intf(ttt*欢迎使用图书馆管理系统*nn- %s -nn,menu_item); void return_confirm(void) printf(n按任意键返回n); getch(); int search_book(void) int n,i; printf(请输入图书序号:); scanf(%d,&i); for(n=0;n100;n+) if(booksn.id=i) printf(序号:%dn,booksn.id); printf(书名:%sn,booksn.name); printf(作者:%sn,booksn.author); printf(出版社:%sn,booksn.p

46、ublish); printf(存数:%dn,booksn.store); printf(总数:%dn,booksn.total); return n; printf(n没有找到相关记录.n); return -1; int book_search(void) int n,i=1; char nam30; system(cls); printf(请输入书名:); scanf(%s,&nam); printf(查询结果如下:n); for(n=0;n100;n+) if(strcmp(booksn.name,nam)=0) printf(序号:%dt,booksn.id); printf(书名:

47、%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; int book_change(void) int n,i; system(cls); page_title(修改图书信息); printf(请输入要修改的图书序号:); scanf(%d,&i); for(n=0;n100;n+) i

48、f(booksn.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; int book_show(void)int n,i=1;system

49、(cls); for(n=0;n0) printf(请输入借书证序号:); scanf(%d,&s); printf(请输入可借天数:); scanf(%d,&d); for(l=0;l10;l+) if(booksn.usrl=0) booksn.usrl=s; booksn.daysl=d; break; booksn.store-; if(n!=-1&booksn.store=0) printf(此书已经全部借出.n); return_confirm(); void book_in(void) int n,s,l; system(cls); page_title(归还图书); if(n=

50、search_book()!=-1&booksn.storebooksn.total) printf(借阅者图书证列表:n); for(l=0;l10;l+) if (booksn.usrl!=0) printf(%d - %d天n,booksn.usrl,booksn.daysl); printf(请输入借书证序号:); scanf(%d,&s); for(l=0;l10;l+) if(booksn.usrl=s) booksn.usrl=0; booksn.daysl=0; break; booksn.store+; if(n!=-1&booksn.store=booksn.total)

51、printf(全部入藏.n); return_confirm(); void book_add(void) int n; system(cls);page_title(注册新书); for(n=0;n100;n+) if(booksn.id=0) break; printf(序号:); scanf(%d,&booksn.id); printf(书名:); scanf(%s,&booksn.name); printf(作者:); scanf(%s,&booksn.author); printf(出版社:); scanf(%s,&booksn.publish); printf(数量:); scanf(%d,&booksn.total); booksn.store=booksn.total; return_confirm();

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!