图书管理系统程序设计_第1页
图书管理系统程序设计_第2页
图书管理系统程序设计_第3页
图书管理系统程序设计_第4页
图书管理系统程序设计_第5页
已阅读5页,还剩20页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、图书管理系统程序设计图书管理系统程序设计25/25图书管理系统程序设计四川师范大学成都学院高级语言程序课程设计鉴于C语言的图书管理系统程序设计学生姓名XXX学号XXXX所在学院通讯工程学院专业名称通讯工程班级XXXXXX指导教师成绩四川师范大学成都学院二一四年十二月鉴于C语言的图书管理系统程序设计内容纲要:图书管理系统是图书室的重要构成部分,图书是我们最好的获守信息的方式,但因为图书室图书珍藏量大大增添,使传统的图书管理员的工作日趋沉重起来,迫令人们起用新的管理方法来管理图书。鉴于C语言的设计和开发图书室管理系统的实践,论述了图书管理软件中所应拥有的功能、设计、实现。介绍了图书管理系统的设计和

2、系统功能的实现过程。该系统能够运用于高校的图书管理,由图书编目,图书流通,标准管理,资料管理,系统保护等多个子系统构成,实现对新进图书基本信息的输入、图书基本信息的查问、对取消图书信息的删除、为借书人办理注册、办理借书手续、办理还书手续等。实现了图书资料的计算机网络管理。重点词:图书管理C语言程序设计BasedontheClanguagelibrarymanagementsystemprogramdesignAbstract:Librarymanagementsystemisanimportantpartofthelibrary,thebookisourbestwaytogetinformat

3、ion,butduetothelargeincreaseincollectionoflibrarybooks,sothatthetraditionallibrariansworkincreasinglyheavyup,forcingpeoplehirednewmanagementwaystomanagebooks.Keywords:LibrarymanagementClanguageProgramdesign目录鉴于C语言的图书管理系统程序设计序言图书室管理信息系统是对学校图书进行全面信息管理的系统。该管理系统能够有效地管理学校图书资源,记录学校与读者之间的使用书本状况。别的,依据读者的要求,

4、实现书本基本信息的输入,查问等几个方面的功能。本系统能够作为独立的系统使用,它包含借阅信息管理、书本信息管理、读者信息管理、系统管理四个主要的功能模块。该管理系统力争给读者方便快捷的门路去实时认识书本信息。针对各个模块不一样的数据表实现增添记录、改正记录、删除记录、以及查问显示记录等功能,所有的操作方便而快捷,并全面实现了图书室管理的各项功能。绪论选题背景和选题意义选题背景跟着社会的发展及知识经济时代的到来,信息管理系统在各行各业发挥着越来越重要的作用。而在高校的图书管理中,防止了手工操作而带来的一些不用要的问题。选题意义图书室作为一种信息资源的集散地,图书和用户借阅资料众多,包含好多的信息数

5、据的管理,当今,有好多的图书室都是初步开始使用,甚至还没有使用计算机进行信息管理。依据检查得悉,他们从前对信息管理的主要方式是鉴于文本,表格等纸介质的手工办理,数据办理工作量大,简单犯错。因为数据众多,简单丢失,且不易查找。总的来说,缺少系统规范的信息管理手段。只管有的图书室有计算机,可是还没有用于信息管理,没有发挥它的效劳,资源闲置比较突出,这就是管理信息系统的开发的鉴于环境。图书管理系统简介图书管理系统是图书室的重要构成部分,图书是我们最好的获守信息的方式,但因为图书室图书珍藏量大大增添,使传统的图书管理员的工作日趋沉重起来,迫令人们起用新的管理方法来管理图书。本文经过设计和开发图书室管理

6、系统的实践,论述了图书管理软件中所应拥有的功能、设计、实现。介绍了图书管理系统的设计和系统功能的实现过程。该系统能够运用于高校的图书管理,由图书借阅,图书送还,图书查问,图书信息改正,等多个模块构成,实现了图书资料的计算机网络管理。一般通用的图书室管理系统往常包含系统管理、读者管理、编目、图书流通、统计、查问等功能。比较先进的系统能够在一个界面下实现图书、音像、期刊的管理,设置假期、设置暂离锁、暂停某些读者的借阅权、导入导出读者资料、互换MARC(MachineReadableCatalogue)数据、升级协助编目库、征订图书等。别的,跟着工Internet应用的发展,一个完美的系统还应供给无

7、缝接入Internet的功能,经过IE阅读器让读者使用借阅资料查问、改换密码、预定、资料检索等功能。有些系统还可以供给读者自助服务,能够开放一些客户机让读者自行管理密码、查问自己的借阅史、预定资料、检索资料等。图书管理系统需求剖析为知足图书管理现代化的需求,国内软件商已开发出好多商品化图书管理软件,但他们大多是面向大型专业图书室而开发的,专业性强,操作和使用比较复杂,难以掌握。而国内好多中小型图书室因为管理人员不多且大多半不是图书管理业务的专业人员、业务分工也不是很详尽、明确,这样的软件关于他们而言太复杂,所以应用成效其实不是很好。目前在大的图书室己经有一整套比较完美的信息管理系统,而在一般小

8、型图书室中大多半工作仍是进行手工管理,工作效率低,其实不可以即时认识图书室各种图书的库存,读者比较需求的图书难以在短时间内找到,图书的入库和更新比较麻烦等等,不便于动向实时调整图书构造。同时因为不行防止的人为要素,造成数据的遗漏、误报等。为了更好的适应目前中小型图书室的读者借阅需求,缓解手工管理存在的各样缺点,所以开发了面向中小型图书室的图书管理系统,为用户供给全方向的信息服务。经过对中小型图书室的检查、剖析发现,用户的需求可分为4个方面:第一是图书室的工作人员经过计算机来管理各种图书,分类编号、调整图书构造、增添图书库存,适应读者的需求。第二是读者能经过计算机来查问阅读图书室中的图书,来确立

9、自己需要的书本,为借阅做好准备。第三是工作人员对读者的借书状况能够作好全面掌握,能实时获得每个读者的目前借阅状态和历史借阅记录。第四也是图书室的核心工作,对图书的借阅管理。在软、硬件方面对系统的需求是软件要易学,简单掌握,能够很简单方便地管理各样图书信息。硬件的配置要求不可以太高,这样能够适应中小型图书室的经济条件。总之,中小型图书室管理信息系统旨在供给一个能够操作的,方便查问的,易于改正的协助管理系统。同时供给了系统智能协助与用户自主选择的两种方式,提升查问效率。系统剖析题目剖析本课程设计任务的目的是要修业生依据剖析、设计、编码、调试和测试的软件开发过程独立达成管理系统设计,以及C语言算法的

10、掌握,并能最后实现本系统的功能要求,经过这个程序能够学习到从前调试短程序没有的的经验。要求为各项操作功能设计一个菜单。应用程序运转后,先显示这个菜单,然后用户经过菜单项选择希望进行的操作项目;要求以上功能分别用函数实现。系统剖析图书室管理系统包含:录入:新进图书及基本信息输入删除:旧图书及基本信息删除查问:查问要借阅的图书信息改正:改正已有的图书信息借书:实现用户办理借书手续还书:实现用户.办理还书手续系统以菜单方式工作,界面友善,易于操作。系统的程序设计环境;:本系统使用VisualC+作为程序开发工具。VisualC+1是鉴于对象的迅速应用程序开发工具,是此刻最强盛、最灵巧的应用程序开发工

11、具之一,拥有优秀的可视化应用程序开发环境和强盛的可扩展数据库功能。利用VisualC+供给的可视化组件库进行编程,能够迅速、高效地开发出鉴于Windows环境的各种应用程序。VisualC+语言的特色是面向对象设计的程序语言,VisualC+的基础编程语言是拥有面向对象特征的语言,拥有代码稳固、可读性好、编译速度快等长处,并将面向对象的观点移植到了C语言中,使这类基础语言有了新的发展空间。与其余编程软件对比,特别是在数据库和网络应用方面,VisualC+拥有简易易用、灵巧高效的特色。开发软件往常要经过改正2源代码、编译、测试、再改正、再编译、再测试等操作,这些操作形成了一个开发循环,所以迅速的

12、编译器能够大大地降低开发周期。VisualC+正是成立在这类高效编译器的基础之上,是针对Windows的最快的高级语言代码编译器,因今生成的代码十分精练高效,使VisualC+程序的运转速度更快。这也是自己使用VisualC+作为程序设计开发语言的重要原由。管理系统的整体设计与详尽设计整体设计整体设计目标:使用者能够利用本系统进行对图书室借阅的各项运算操作,如依据用户的需求自动的进行增添图书,删除图书,借书还书。查找所要的图书,查阅图书的详尽资料,查阅读者的详尽资料。最后清楚完好的结果于屏幕中。大大方便使用者对图书借阅的操作,不单节俭时间,并且提升正确性,能够达到事半功倍的成效。整体设计谋略:

13、本系统采纳的是3自顶向下、层次化的模块构造。对高层模块,采纳以事务为中心的设计谋略,把一个大的模块逐渐分解成较小的相对简单的模块。对低层模块,采纳以变换为中心的设计谋略。为了提升每个模块的内聚性、降低模块间的耦合性,将每个模块设计成拥有单调功能的模块(即功能内聚),使模块间的联系完好部是经过主模块的控制和调用来实现(即4非直接耦合)。联合上述剖析该系统应包含以下模块:信息输入、信息删除,信息查问,信息显示,信息改正,图书借出、图书送还。构造图如图3-1:图书室管理系统信信信信显图图图3-1构造框图息书书图书数据:序号、书名、作者、第一版社、存数、总数。息息息示输删查修信借归详尽设计入除询改息出

14、还主函数5主函数要求设计比较简短,只供给设输入,办理和输出部分的函数调用。流程图以下列图3-2:显示一系列功能选项图3-2主函数流程图程序:voidmain(void)输入n,判断n能否1-8menu:page_title(操作选单);依据输入的值调用各功能模块的函数printf(请用数字键选择操作nn);printf(ttt1注册新书ttt2借阅图书n);printf(ttt3查问图书信息ttt4改正图书信息n);printf(ttt5送还图书ttt6删除图书n);printf(ttt7显示图书ttt8退出系统n);printf(请按数字键:n);switch(getch()case1:bo

15、ok_add();break;case2:book_out();break;case3:book_search();break;case4:book_change();break;case5:book_in();break;case6:book_del();break;case7:book_show();break;case8:exit(0);gotomenu;输入模块剖析:该模块的功能是若是用户需要新加入新的图书信息,经过6键盘输入将新信息逐条加在本来输入文件上但不可以覆盖原有信息。流程图以下列图3-3:图3-3输入模块流程图程序:voidbook_add(void)intn;system(

16、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(%s,&booksn.publish);printf(数目:);scanf(%d,&booksn.total);booksn.store=booksn.total;return_confirm();删除模块剖析:该模块用于显示所有图

17、书信息,因为记录7许多,故而采纳分屏显示。显示完所有纪录后,用户需输入图书编号从而查找图书信息。流程图以下列图3-4:输入要删除的图书序号能否有该书该书已删除没有找到有关信息返回主菜单图3-4删除模块流程图程序:intbook_del(void)intn,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+1.n

18、ame);strcpy(booksi.publish,booksi+1.publish);printf(该书已删除.n);returnn;输入要查问的书名printf(没有找到有关记录n);return-1;能否有该书查问模块剖析:改模块功能应表现为用户输入图书书名,如有书则查问8出来。流程图以下显图示3找-5到:的图书信息没有找到有关记录返回主菜单显示主菜单,输入数字图3-5查问模块流程图程序:intbook_search(void)intn,i=1;charnam30;system(cls);printf(请输入书名:);scanf(%s,&nam);for(n=0;n100;n+)if(

19、strcmp(,nam)=0)printf(序号:%dt,booksn.id);printf(书名:%st,);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-6:图3-6改正模块流程图程序:intbo

20、ok_change(void)intn,i;system(cls);page_title(改正图书信息);printf(请输入要改正的图书编号:);scanf(%d,&i);for(n=0;n100;n+)if(booksn.id=i)printf(改正书名:);scanf(%s,);printf(改正作者:);scanf(%s,booksn.author);printf(改正第一版社名:);scanf(%s,booksn.publish);printf(改正总数:);scanf(%d,&booksn.total);printf(改正图书信息成功.n);booksn.st

21、ore=booksn.total;returnn;printf(n没有找到有关记录.n);return-1;显示模块剖析:该模块功能应表现为显示所有的图书信息。流程图以下列图3-7:图3-7显示模块流程图程序:intbook_show(void)intn,i=1;system(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(

22、n!=-1&booksn.store=0)printf(此书已经所有借出.n);return_confirm();送还模块剖析:该模块功能应表现为方便用户送还图书流程图以下列图3-9:输入要送还的图书序号能否有该书显示记录,输入有关信息没有找到有关信息返回主菜单图3-9送还图书模块程序:voidbook_in(void)intn,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天

23、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)printf(所有入藏.n);return_confirm();公共函数定义构造体:structBOOKintid,usr10,total,store,days10,zt;charname31,author21;books100;voidpage_t

24、itle(char*menu_item)printf(ttt欢迎使用图书室管理系统nn-%s-nn,menu_item);voidreturn_confirm(void)printf(n按随意键返回n);getch();调试与测试第一,用一组简单的数据对程序进行调试,能否各函数有犯错现象。而后用复杂数据对程序进行调试。直到确立程序对正常数据没有错误为止。第二,当数据测试时,程序错误,要第一找到犯错的函数,对函数中各个变量进行察看,有时变量好多,循环多重不要急,对各个数据的察看,对程序的调试有很大的帮助。你也能够先对几个变量熟习后,在多重循环里,确立正确的数据,将其跳过调试,对有疑问的数据循环进

25、行认真察看。固然这是比较省力气的活,但对复杂的数据错误其实不是很有效,所以认真察看每个数据的变化对换试的成功与否有决定性作用。第三,测试时,根本的错误其实不必定在运转错误的函数内,也许在前面的函数内已经确立了这些错误数据的基础,需要反过头来,对所有的的函数进行一项项的调试!从程序运转的第一个函数开始调试。依据程序运转的步骤下去。一个个确实定函数的正确性,每确立一个函数,在此后的调试中能够减少对该函数的调试次数,或许直接跳到下一个函数。所谓的各个击破即是这样。仇家文件中的各个函数的返回值和它所要传入的参变量及其功能更是需要注意。第四,调试时,需要对错误减小范围,从整个程序到指定函数,再到指定地区

26、,再到指定行,在对程序减小范围或对编译没经过的程序减小错误范围时能够用/来进行调试,确立正常范围,减小错误范围。编码实现主界面截图图5-1主界面注册新书界面截图图5-2新书注册显示界面截图图5-3图书显示借阅界面截图图5-4图书借阅送还界面截图图5-5图书送还查问界面截图图5-6图书查问改正界面截图图5-7改正图书删除界面截图图5-8删除界面结论经过以上各章节的介绍,已经达成了图书室管理系统的开发,图书室系统是一套适用性特别强的系统,从小学、中学直到大学,好多人向来与图书室打交道,图书室的发展从手工管理、手工管理和计算机管理并行,直到此刻的完好计算机管理。图书室管理系统不单需要灵巧的交互功能,

27、还需要常常与数据库进行联系,要求拥有操作简单和功能强盛的数据库接见能力。界面尽量雅观友善、多彩多姿,完好的图形化设计,操作者易于上手,同时多种媒体技术的集成利用,能够方便的达成用户乐于接受的各样界面设计。本系统虽具备了基本的功能,但因为时间关系,还有好多功能待实现,在此基础上联合实质应用中所出现的问题,要改良图书的入库和删除功能,使工作人员在主界面上就能进行其操作;在过期天数中应当增添罚款的功能;假如作为校园的图书管理系统,应划分出不一样身分的人(如教师和学生)的借阅权限等。经过此次编程我深深的感觉到对代码的变量命名,代码内说明格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,优秀的

28、编写习惯,不只有助于代码的移植和纠错,也有助于不一样人员之间的协作。我们还要有模块化思想能力,模块化思想就是编程任何一个功能模块或函数的时候,要多想一些,不要限制在达成目前任务的简单思路上,想一想看该模块能否能够离开这个系统存在,能否能够经过简单的改正参数的方式在其余系统和应用环境下直接引用,这样就能极大防止重复性的开发工作。擅长总结,也是学习能力的一种表现,每次达成一个编程任务,达成一段代码,都应当有目的的追踪该程序的应用状况,随时总结,找到自己的不足,这样所编写的程序才能逐渐提升。附录程序源代码#include#include#include#includestructBOOKintid,

29、usr10,total,store,days10;charname30,author20,publish40;books100;voidpage_title(char*menu_item)printf(ttt欢迎使用图书室管理系统nn-%s-nn,menu_item);voidreturn_confirm(void)printf(n按随意键返回n);getch();intsearch_book(void)intn,i;printf(请输入图书序号:);scanf(%d,&i);for(n=0;n100;n+)if(booksn.id=i)printf(序号:%dn,booksn.id);pri

30、ntf(书名:%sn,);printf(作者:%sn,booksn.author);printf(第一版社:%sn,booksn.publish);printf(存数:%dn,booksn.store);printf(总数:%dn,booksn.total);returnn;printf(n没有找到有关记录.n);return-1;intbook_search(void)intn,i=1;charnam30;system(cls);printf(请输入书名:);scanf(%s,&nam);printf(查问结果以下:n);for(n=0;n100;n+)if(strcm

31、p(,nam)=0)printf(序号:%dt,booksn.id);printf(书名:%st,);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;intbook_change(void)intn,i;system(cls);page_title(改正图书信息);printf(请输入要改

32、正的图书序号:);scanf(%d,&i);for(n=0;n100;n+)if(booksn.id=i)printf(改正书名:);scanf(%s,);printf(改正作者:);scanf(%s,booksn.author);printf(改正第一版社名:);scanf(%s,booksn.publish);printf(改正总数:);scanf(%d,&booksn.total);printf(改正图书信息成功.n);booksn.store=booksn.total;returnn;printf(n没有找到有关记录.n);return-1;intbook_sho

33、w(void)intn,i=1;system(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();voidbook_in(void)intn,s,l;system(cls);page_title(送还图书);if(n

34、=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)printf(所有入藏.n);return_confirm();voidbook_add(void)intn;system(cls);page_title(注册新书);for(n=0;n100;n+)if(booksn.id=0)break;printf(序号:);scanf(%d,&books

温馨提示

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

评论

0/150

提交评论