课程设计(论文)某高校图书管理系统.doc
《课程设计(论文)某高校图书管理系统.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)某高校图书管理系统.doc(34页珍藏版)》请在三一办公上搜索。
1、沈 阳 航 空 航 天 大 学 课程设计题目:某高校图书管理系统一、课程设计时间201011第2学期 第15周,共计1周,20学时。二、课程设计内容用C语言编写软件完成以下任务:1.录入图书信息(根据图书馆的管理情况自行设定,要具有实用性);2.借书处理(数量不足三本,不予外借,并显示相应的提示信息);3.还书处理。4 查询图书信息(根据书名或图书编号)。三、课程设计要求1. 程序质量: 贯彻结构化程序设计思想。 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。 用户界面中的菜单至少应包括“图书信息录入”、“借书处理”、“还书处理”、“退出”、“查询图书信息”5项。 代码应适当缩进,
2、并给出必要的注释,以增强程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评语目录一、需求分析1二、设计分析3三、主要界面截图10四、技术要点13五、个人总结24六、参考文献25七、源程序25一、需求分析 根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。经过对程序设计题目的分析可知,整个程序的设计实现大致分为5个模块,其中每一个模块对应一个函数(查询模块对应三个函数),他们的功能分别是:录入图书信息(luru);借书(jieshu);还书(hu
3、anshu);查询(chaxun)。该系统是一个较典型的数据管理系统,其使用者被假定为图书管理人员,系统应该具有易于管理、快速、稳定、功能齐全的特点。1. 管理性分析系统管理的数据涉及到图书的管理问题,数据量较大且是一种基础性数据,是管理图书的重要数据,所以应该能够快速方便调用修改增添。2. 快速性分析快速性分析,由于信息量较大且变动较为频繁,因此,该程序应该能快速的调用和增补。3. 稳定性分析指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。4. 主要功能分析(1)录入函数:主要功能是将图书信息录入书库中; (2)借书函数:主要实
4、现学生借阅书籍的功能;(3)还书函数:实现的功能是把学生借阅的书籍还给书库;(4)查询函数:是显示图书信息(用户输入查询条件,系统规则地在界面显示查询结果,且显示的数据尽量全面。当输入图书编号时,可查询到该图书的书名,作者,出版社,数量;当输入书名时,可查询到该图书的编号,作者,出版社,数量)。除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。每一个图书都包含编号,书名,作者,出版社,数目,将图书纪录类型定义为结构体类型,数据读取自程序所在目录下的图书。二、设计分析主要有5个功能模块,每个模块对应一个C语言自定义函数。他们的功能分别
5、是:录入图书信息(luru);借书(jieshu);还书(huanshu);查询图书信息(chaxun)。 这些函数原型及其功能简述如下:1、录入函数:void luru()/图书录入 主要功能是将图书信息录入书库中;2、借书函数:void jieshu()/借书 主要实现学生借阅书籍的功能;3、还书函数:void huanshu()/还书 实现的功能是把学生借阅的书籍还给书库;4。查询函数:void chaname() 功能是显示图书信息。当输入图书编号时,可查询到该图书的书名,作者,出版社,数量;当输入书名时,可查询到该图书的编号,作者,出版社,数量。除上面介绍的功能之外,程序还具有退出功
6、能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。每一个图书都包含编号,书名,作者,出版单位,库存数量,将图书纪录类型定义为结构体类型,数据读取自程序所在目录下的tushiguanli.txt。1、程序总体结构图2、主要功能模块框图(1)录入图书信息luru (2)借书函数jieshu(3)还书函数huanshu(4)查询函数chaxun 三、主要界面截图图1 程序主界面图2 录入图书信息图示3 借书功能图示4 还书功能图示5 查询功能(按书名)图示6 查询功能(按书号)四、技术要点设计的程序由七个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求
7、的所有功能。在这些函数当中,输入图书信息、借阅图书信息、还书函数和查询图书函数是程序中较为核心的部分,其中查询函数调用了按书号查询和按书名查询两个函数。1、结构体的应用定义了结构体用来描述图书的编号、作者、书名、出版社以及图书的数量;并且定义了指针:头指针head和指针p1、p2。具体的定义如下:struct book int num; char author10; char name10; char publicor10; int amount; struct book *next;*head,*p1,*p2;所定义的结构体主要用于定义数组和指针。2、文件操作包括了文件的写入和读取两个方面。
8、文件的写入操作,用于保存录入的学生数据,也用于保存所修改的数据。例如如下程序段用于保存录入的图书信息:void luru()/图书录入 FILE *fp; fp=fopen(d:tushuguanli.txt,w); if (fp=NULL) printf(n 打开文件失败!n); exit(0); printf( 请输入图书信息(图书号为“0”时结束)n); printf( 输入顺序为:图书号、书名、作者、出版社、图书数量n); head=NULL; p1=p2=(struct book*) malloc(LEN); scanf(%d%s%s%s%d,&p1-num,p1-name,p1-a
9、uthor,p1-publicor,&p1-amount); while (p1-num) fprintf(fp,%d%s%s%s%d,p1-num,p1-name,p1-author,p1-publicor,p1-amount); n=n+1; if (n=1) head=p1; else p2-next=p1; p2=p1; p1=(struct book *)malloc(LEN); printf( 请您继续输入n); scanf(%d%s%s%s%d,&p1-num,p1-name,p1-author,p1-publicor,&p1-amount); p2-next=NULL;fclo
10、se(fp);例如如下程序段用于读取录入的图书信息:void jieshu()/借书int i;FILE *fp;fp=fopen(d:tushuguanli.txt,r);if(fp=NULL)printf(n 打开文件失败!n);exit(0);p1=head;printf(请输入你要借的书的书号n);scanf(%d,&i);while(p1!=NULL)if(i=p1-num)if(p1-amountamount-;printf( 书号 书名 作者 出版单位 剩余数量 n );printf(t%dt%st%st%st%dn,p1-num,p1-name,p1-author,p1-pub
11、licor,p1-amount);p1=p1-next;getch();fclose(fp);3、输入图书信息函数 输入图书信息,首先由程序创建一个新文件,并将录入的图书信息写入该文件当中,具体的程序段如下:void luru()/图书录入 FILE *fp;fp=fopen(d:tushuguanli.txt,w);if(fp=NULL)printf(n 打开文件失败!n);exit(0);printf( 请输入图书信息(图书号为“0”时结束)n);printf(输入顺序为:图书号、书名、作者、出版社、图书数量n);head=NULL;p1=p2=(struct book*) malloc(
12、LEN);scanf(%d%s%s%s%d,&p1-num,p1-name,p1-author,p1-publicor,&p1-amount);while(p1-num) fprintf(fp,%d%s%s%s%d,p1-num,p1-name,p1-author,p1-publicor,p1-amount);n=n+1;if(n=1) head=p1;elsep2-next=p1;p2=p1;p1=(struct book *)malloc(LEN);printf( 请您继续输入n);scanf(%d%s%s%s%d,&p1-num,p1-name,p1-author,p1-publicor
13、,&p1-amount);p2-next=NULL;fclose(fp);4、借阅图书函数该函数的核心内容是更改算法。该函数执行时,由用户输入要借阅图书的编号,而后按照该编号进行查找。如果库存少于三本了则提示库存有限无法借阅,如果库存大于等于三本时,显示借书成功,p1-amount值减1。具体程序段如下:void jieshu()/借书int i;FILE *fp;fp=fopen(d:tushuguanli.txt,r);if(fp=NULL)printf(n 打开文件失败!n);exit(0);p1=head;printf(请输入你要借的书的书号n);scanf(%d,&i);while(
14、p1!=NULL)if(i=p1-num)if(p1-amountamount-;printf( 书号 书名 作者 出版单位 剩余数量 n );printf(t%dt%st%st%st%dn,p1-num,p1-name,p1-author,p1-publicor,p1-amount);p1=p1-next;getch();fclose(fp);5、还书函数提示输入要还的书的编号,如果所输入的书号在已借图书中,显示还书成功,p1-amount值加1,具体程序段如下:void huanshu()/还书 int i; FILE *fp;fp=fopen(d:tushuguanli.txt,r);i
15、f(fp=NULL)printf(n 打开文件失败!n);exit(0);p1=head;printf(请输入你要还的书的书号n);scanf(%d,&i);while(p1!=NULL)if(i=p1-num)printf(还书成功n);p1-amount+;printf( 书号 书名 作者 出版单位 剩余数量 n );printf(t%dt%st%st%st%dn,p1-num,p1-name,p1-author,p1-publicor,p1-amount);p1=p1-next;getch();fclose(fp);6、查询函数提示按照书名或者书号来查询图书信息,如果选择按书名查询信息,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 高校 图书 管理 系统
链接地址:https://www.31ppt.com/p-3993589.html