收藏 分销(赏)

图书管理系统课程设计报告.docx

上传人:可**** 文档编号:2522806 上传时间:2024-05-31 格式:DOCX 页数:26 大小:193.37KB
下载 相关 举报
图书管理系统课程设计报告.docx_第1页
第1页 / 共26页
图书管理系统课程设计报告.docx_第2页
第2页 / 共26页
图书管理系统课程设计报告.docx_第3页
第3页 / 共26页
图书管理系统课程设计报告.docx_第4页
第4页 / 共26页
图书管理系统课程设计报告.docx_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、工程技术学院-课程设计说明书工程技术学院课程设计说明书学生姓名:专业:计算机科学与技术学号:指导教师:所属系(部):信息系工程技术学院课程设计评阅书题目:图书管理系统课程设计报告 信息系计算机科学与技术专业 姓名 设计时间:2015年 月 日2015 年 月 日 评阅意见:成绩: 指导教师:(签字) 职务:201 年月日摘 要随着计算机技术的飞速发展,电子信息化慢慢替代了企业管理的传统管理手法,采用管理系统是能够有效提高管理效率的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。图书馆若采取

2、手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下,也不方便读者对图书资料的查阅。为了提高日常的图书管理效率,本文针对通常的图书管理流程,设计了一个面向对象图书管理系统。本系统中包含六个功能模块:图书馆基本信息,借书,还书,读者维护,图书维护,管理员维护。关键词:借书,还书,读者维护,图书维护,管理员维护 AbstractWiththerapiddevelopmentofcomputertechnology,electronicinformationtechnologygraduallyreplacedthetraditionalmanagemen

3、tofenterprisemanagementmethods,managementsystem,caneffectivelyimprovetheefficiencyofmanagement.Libraryasakindofinformationresourcecollectionanddistributioncenter,libraryanduserlendingdataisvarious,containsalotofinformationdatamanagement,today,therearealotoflibrariesarepreliminarystartedusing,hasntev

4、enuseacomputerforinformationmanagement.Iflibrariesadoptmanualapproachtoartificialmanagementbooksandmaterialsandlibrary,becausethematerialisvarious,manualprocessingworkloadisbig,theoverallmanagementefficiencyislow,alsonotconvenienttoreadersofbooksandmaterialsinspection.Inordertoimprovetheefficiencyof

5、booksmanagement,thispaperusuallybooksmanagementprocesses,anobject-orientedbooksmanagementsystemmanagementsystemisdesigned.Thissystemcontainssixmodules:basicinformation,librarybooks,andbooks,thereadermaintenance,maintenance,administratorstomaintain.Key words: Borrow books, return books, readMaintenan

6、ce, book maintenance, administrator maintenance摘 要3ABSTRACT4第1章61.1题目背景61.2设计目的6第2章 解决问题7第3章 图书管理系统的设计与实现73.1系统的需求分析73.2系统的设计83.2.1 系统的总统设计8(1)总体思想8(2)系统模块结构图83.2.2 系统的概要设计83.3 测试结果93.3.1系统主界面103.3.2功能菜单103.3.3查询系统菜单113.3.4借还系统菜单113.4 源代码12参考文献23第四章 心得体会23致 谢25 第1章1.1题目背景随着计算机技术的飞速发展,改变了世界,也改变了人类的生活

7、。作为现代科学技术的飞速发展,改变了世界,也改变了人类的生活。新世纪的大学生,应当站在时代发展的前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求当今社会,多元文化快速发展,人与人的交流也越来越多,社交也越来越广泛,这时,记住自己认识的人是很重要的,因此我们做了这个程序,为了使我们更有效的记录下自己所认识的人,更方便去和更多的人交流而不会记错。C语言成了在国内外使用的一种计算机语言。C语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好、既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合于编写系统软件。现在大多数的高校都把C语言作为

8、第一门计算机语言进行教学,这是可行的,学生也是能够学习好的。1.2设计目的这次设计主要是应用了C程序设计中的一些算法,还有一些函数的调用,结构体的应用等,根据他们的基本思想来编写程序。程序包括的主要内容可以对图书馆管理系统进行输入、修改、删除、借阅、归还、显示等操作,设计一个有关学生借阅图书的管理程序,来方便人们对信息更方便的使用,经过这样一个过程来巩固和完善自己所学的知识,同时来培养一下自己的实践能力。通过本设计可以加深理解利用程序设计思想开发一个系统的整个流程,提高分析问题、解决问题和实际动手的能力。通过本设计可以加深理解利用程序设计思想开发一个系统的整个流程,提高分析问题、解决问题和实际

9、动手的能力为了人们能够更快的记录学生的借书管理,使人们不再因为添加、删除图书而苦恼。第2章 解决问题图书馆管理系统用于计算机管理图书馆里的书籍,方便学生进行更方便快捷的结束程序。在这个程序中可以对图书馆管理系统中的内容进行输入、添加记录、显示记录、注册会员,还可对其中的书籍进行删除等等。使信息管理更具体、更明朗、更电子化,让人一目了然,给人们带来无穷的快捷。这次实训,使我们对C语言的掌握更加熟练,也解决了一些问题:1、解决手工记录和减少工作量,以及相关函数的使用。2、解决函数间的链接关系,使函数的调用更加方便灵活以及相关函数的使用。3、解决对单个函数如何操作和各种按键的功能设置以及相关函数的使

10、用。4、解决对程序显示窗口的设置及对各种相关函数的使用。5、提高分析问题、解决问题和实际动手的能力。6、需要对图像和文本的输出有一个较好的了解。7、能够熟练运用C言分支语句,并能使各种循环相互连接,完成对按键选择操作等过程。8、在设计的过程中,建立清晰的层次结构。9、在编写程序前先画出主要的功能结构图和主要模块的流程图。10、对每个功能所运用的数学知识有一个较好的认识和探索。11、得出最简洁,最快速的算法。12、要求操作简单,用户界面友好。第3章 图书管理系统的设计与实现3.1系统的需求分析图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。根据

11、系统界面的提示信息对图书馆信息进行查询、初始化等操作系统功能需求分析描述如下: (1)系统主菜单:进入系统和退出系统 (2)功能菜单:显示可以进行的操作(3)查询主菜单:根据图书编号、书名、作者进行查询,并可显示所有图书信息(4)借还书主菜单:可以进行借书和还书等操作3.2系统的设计3.2.1 系统的总统设计 下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。 (1)总体思想 本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、借书、还书等主要功能。系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。 (2)系统模块结构图 根据需求分析结果

12、,图书管理系统可以分为三大模块:查询图书模块、借书功能模块、还书功能模块。系统模块结构如图: 图书管理系统图书查询系统图书管理主菜单还书功能系统借书功能系统3.2.2 系统的概要设计 系统主菜单。 显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。功能主要包括:退出系统、查询图书、借书、还书。 查询图书信息 进入此菜单功能模块,输入您要查询的图书的编号、名字、作者等。图书查询模块流程如图:开始 提示输入图书编号、书名、作者输入正确查询 否 是 否 是 是 重新输入否退出系统3.3 测试结果3.3.1系统主界面3.3.2功能菜单3.3.3查询系统菜单3.3.4借还系统菜单

13、3.4 源代码# include # include # include typedef struct linkchar number100;char bookname100;char author100;char publish100;char time100;float price;char status100; struct link *next;link;link *Cbook()int n=0;link *p,*q,*head;FILE *fp;fp=fopen(图书信息.txt,r+);if(fp=NULL)printf(没有找到文件,请检查);p=(link *)malloc(s

14、izeof(link);if(p=NULL)printf(申请内存出错!n);fscanf(fp,%s%s%s%s%s,p-number,p-bookname,p-author,p-publish,p-time);fscanf(fp,%f,&p-price);fscanf(fp,%s,p-status);while(feof(fp)=0)n+;if(n=1)head=p;elseq=p;p=(link *)malloc(sizeof(link);if(p=NULL)printf(申请内存出错!n);fscanf(fp,%s%s%s%s%s,p-number,p-bookname,p-autho

15、r,p-publish,p-time);fscanf(fp,%f,&p-price);fscanf(fp,%s,p-status);q-next=p;p-next=NULL;fclose(fp);printf(信息已录入!);return head;void mainmenu()printf(n*n);printf(n* 欢迎使用图书管理系统 *n);printf(n* 1.进入系统 0.退出系统 *n);printf(n*n);printf(n 请选择);void menu1()printf(n*n);printf(n* 1.进入图书查询系统 *n);printf(n* 2.进入图书借还系统

16、 *n);printf(n* 3.保存所有图书信息 *n);printf(n* 4.返回上级菜单 *n);printf(n*n);printf(n请选择);void cxmenu()printf(n*n); printf(n* 1.显示所有图书信息 *n); printf(n* 2.按编号查询图书 *n); printf(n* 3.按书名查询图书 *n); printf(n* 4.按作者查询图书 *n); printf(n* 5.返回上级菜单 *n);printf(n*n); printf(n请选择);void jhmenu()printf(n*n);printf(n* 1.借书 *n);pr

17、intf(n* 2.还书 *n);printf(n* 3.返回上级菜单 *n);printf(n*n);printf(n请选择); void print(link *head)link *p;p=head;printf(n);printf(n*n);printf(n编号tt书名tt作者tt出版社tt出版时间tt价格tt状态n); while(p!=NULL) printf(n);printf(%st%st%st%st%s,p-number,p-bookname,p-author,p-publish,p-time);printf(tt%.2f,p-price);printf(tt%s,p-sta

18、tus);printf(n);p=p-next;void hold(link *head)link *p;FILE *fp;fp=fopen(图书信息.txt,w+);if(fp=NULL)printf(文件操作出错!);exit(1);p=head;for(;p!=NULL;p=p-next) fprintf(fp,%st%st%st%st%s,p-number,p-bookname,p-author,p-publish,p-time);fprintf(fp,tt%.2f,p-price);fprintf(fp,tt%s,p-status);fprintf(fp,n);fclose(fp);

19、printf(信息已保存。);void holdcx(link *t)link *p=NULL;FILE *fp;fp=fopen(查询.txt,a+);p=t;fprintf(fp,查询到的信息为:n);fprintf(fp,n);fprintf(fp,n*n);fprintf(fp,n编号tt书名tt作者tt出版社tt出版时间tt价格tt状态n);fprintf(fp,n);fprintf(fp,%st%st%st%st%s,p-number,p-bookname,p-author,p-publish,p-time);fprintf(fp,tt%.2f,p-price);fprintf(f

20、p,tt%s,p-status);fprintf(fp,n);fclose(fp);printf(信息已保存!);link *findnumber(link *head)char key100;link *h,*t1=NULL;printf(请输入图书的编号:);getchar();gets(key);for(h=head;h!=NULL;h=h-next) if(strcmp(key,h-number)=0) t1=h; break; return t1; link *findboookname(link *head)char key100;link *h,*t2=NULL;printf(请

21、输入图书的书名:);getchar();gets(key);for(h=head;h!=NULL;h=h-next) if(strcmp(key,h-bookname)=0) t2=h; break; return t2;link *findauthor(link *head)char key100;link *h,*t3=NULL;printf(请输入作者姓名:);getchar();gets(key);for(h=head;h!=NULL;h=h-next) if(strcmp(key,h-author)=0) t3=h; break; return t3;link *sortnumber

22、(link *head)link *p,*q,*temp; temp=(link *)malloc(sizeof(link); if(temp=NULL) printf(申请内存出错!); exit(1); for(p=head;p!=NULL;p=p-next) for(q=p-next;q!=NULL;q=q-next)if(strcmp(p-number,q-number)0) strcpy(temp-number,p-number); strcpy(temp-bookname,p-bookname); strcpy(temp-author,p-author); strcpy(temp-

23、publish,p-publish); strcpy(temp-time,p-time); temp-price=p-price; strcpy(temp-status,p-status); strcpy(p-number,q-number); strcpy(p-bookname,q-bookname); strcpy(p-author,q-author); strcpy(p-publish,q-publish); strcpy(p-time,q-time); p-price=q-price; strcpy(p-status,temp-status); strcpy(q-number,temp

24、-number); strcpy(q-bookname,temp-bookname); strcpy(q-author,temp-author); strcpy(q-publish,temp-publish); strcpy(q-time,temp-time); q-price=temp-price; strcpy(q-status,temp-status); return head; link *borrowbook(link *head)link *h,*p;char ch,ch1100=在库,ch2100=不在库;h=head;printf(n*n);printf(tt欢迎使用借书系统!

25、n);p=findboookname(h);if(p=NULL)printf(借书失败,书库中没有这本书!);else if(strcmp(p-status,ch2)=0)printf(借书失败,图书不在库!);else printf(确认借出?Y/N:);scanf(%c,&ch);getchar(); if(ch=Y|ch=y) strcpy(p-status,ch2); printf(借书成功,请返回上级菜单保存信息!);if(ch=N|ch=n)printf(你没有借任何书!); return head; link *returnbook(link *head) link *h,*p;

26、 char ch,ch1100=在库,ch2100=不在库; h=head;printf(n*n);printf(tt欢迎使用还书系统!n);p=findboookname(h);if(p=NULL)printf(还书失败,这不是本书库的书!); else printf(确认还书?Y/N:); scanf(%c,&ch); getchar(); if(ch=Y|ch=y) strcpy(p-status,ch1); printf(还书成功,请返回上级菜单保存信息!); if(ch=N|ch=n) printf(你没有还书!); return head; void main()int a,b,c

27、,d;link *h,*t;L:system(cls); mainmenu();while(1) scanf(%d,&a);switch(a)case 1: B: system(cls); menu1(); while(1) scanf(%d,&b); switch(b) case 1: system(cls); cxmenu(); while(1) scanf(%d,&c); switch(c) case 1: print(h); break; case 2: t=findnumber(h); if(t=NULL) printf(没有要查询的图书!); if(t!=NULL) printf(

28、查询的图书为:); printf(n); printf(n*n); printf(n编号tt书名tt作者tt出版社tt出版时间tt价格tt状态n); printf(n);printf(%st%st%st%st%s,t-number,t-bookname,t-author,t-publish,t-time); printf(tt%.2f,t-price); printf(tt%s,t-status);printf(n); break; case 3: t=findboookname(h); if(t=NULL) printf(没有要查询的图书!); if(t!=NULL) printf(查询的图

29、书为:); printf(n);printf(n*n); printf(n编号tt书名tt作者tt出版社tt出版时间tt价格tt状态n); printf(n);printf(%st%st%st%st%s,t-number,t-bookname,t-author,t-publish,t-time); printf(tt%.2f,t-price); printf(tt%s,t-status); printf(n); break; case 4: t=findauthor(h); if(t=NULL) printf(没有要查询的图书!); if(t!=NULL) printf(查询的图书为:); p

30、rintf(n); printf(n*n); printf(n编号tt书名tt作者tt出版社tt出版时间tt价格tt状态n); printf(n);printf(%st%st%st%st%s,t-number,t-bookname,t-author,t-publish,t-time); printf(tt%.2f,t-price); printf(tt%s,t-status);printf(n); break; case 5: goto B; break; break; case 2: system(cls);jhmenu();while(1)scanf(%d,&d);switch(d)cas

31、e 1: borrowbook(h);break;case 2:returnbook(h); break;case 3: goto B;break; break; case 3: hold(h); break; case 4: goto L; break; break;case 0: printf(ttt感谢使用,再见!);exit(0);参考文献1.C语言程序设计教程 2012,李丽娟 人民邮电出版社2.C程序设计语言 2010,魏东平等 电子工业出版社3.C Primer Plus 2005,(美)Stephen Prata 人民邮电出版社4.C语言程序设计:现代方法 2010,(美)K.

32、N.King 人民邮电出版社5.Absolute Beginners Guide To C 2010,(美)Greg Perry6.C专家编程 2008,(美)LinDen,P.V.D 人民邮电出版社7.The C Programming Language 2004,(美)Dennis M.Ritchie8. C和C+经典著作C专家编程Expert C Programming Deep C Secrets 2008,人民邮电出版社9. C和指针2008,(美) KennethAReek 人民邮电出版社10.C标准库 2009,(美)P.J.Plauger 人民邮电出版社11.C语言解惑2007,(美)Alan R.Feuer) 人民邮电出版社12.13.谭洁强 C程序设计 清华大学出版社14.张基温 C程序设计案例教程 清华大学出版社15.王宏 C#程序设计案例教程 清华大学出版社第四章 心得体会经过一个多星期的编译原理课程设计,在我的努力下,顺利完成该课程设计。通过该课程设计,掌握了编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的生成过程及其相关的技术,对课本上的知识也有了更深的理解。老师常说,课本上的知识是机械的,表面的,要学会去运用,要举一反三。现在终于深刻的了解了这句话。经过这次的

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服