C语言图书管理系统课程设计报告.docx
《C语言图书管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《C语言图书管理系统课程设计报告.docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 图书治理系统的设计与实现3.1 系统的需求分析图书登记治理系统作为一个应用软件将为学校的教师和学生供给一个对学校图书馆深入了解并借阅、还书的平台。依据系统界面的提示信息对图书馆信息进展查询、初始化等操作系统功能需求分析描述如下:(1) 系统主菜单:进入系统和退出系统(2) 功能菜单:显示可以进展的操作(3) 查询主菜单:依据图书编号、书名、作者进展查询,并可显示全部图书信息(4) 借还书主菜单:可以进展借书和还书等操作3.2 系统的设计3.2.1 系统的总统设计下面从系统的整体流程的功能模块、系统界面及数据构造进展总体设计。(1) 总体思想本系统主要设计思想是实现图书馆的功能机治理系统
2、信息的查询、借书、还书等主要功能。系统的设计方法是构造化实际方法,系统用C语言进开放发用户可以清楚的了解图书馆内的状况。2系统模块构造图依据需求分析结果,图书治理系统可以分为三大模块:查询0图书治理系统图书模块、借书功能模块、还书功能模块。系统模块构造如图:图图借还书书书书管查功功理询能能主系系系菜统统统单3.2.2 系统的概要设计系统主菜单。显示系统的主菜单,里面有相应的功能代码,依据选择各功能代码进入不同的界面。功能主要包括:退出系统、查询图书、借书、还书。查询图书信息进入此菜单功能模块,输入您要查询的图书的编号、名字、作者等。图书查询模块流程如图:开头提示输入图书编号、书名、作者1输入正
3、确否是是重输入否退出系统3.3 测试结果系统主界面2功能菜单查询系统菜单借还系统菜单3.4 源代码#include#include#includetypedef struct linkchar number100; char bookname100; char author100; char publish100; char time100; float price;char status100; struct link *next;link;link *Cbookint n=0;link *p,*q,*head;FILE *fp;fp=fopen(“图书信息.txt“,“r+“); if(f
4、p=NULL)printf(“没有找到文件,请检查“); p=(link *)malloc(sizeof(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)print
5、f(“申请内存出错!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); q-next=p;10p-next=NULL; fclose(fp);printf(“信息已录入!“); return head;void mainmenuprintf(“n*n“);printf(“n*欢送使用图书治理系统*n“);printf(“n*1.进入系统0.退出系统*n“);printf(“n*n“); print
6、f(“n请选择“);void menu1printf(“n*n“);printf(“n*1.进入图书查询系统*n“);printf(“n*2.进入图书借还系统*n“);printf(“n*3.保存全部图书信息*n“);printf(“n*4.返回上级菜单*n“);printf(“n*n“); printf(“n 请选择“);void cxmenuprintf(“n*n“);printf(“n*1.显示全部图书信息*n“);printf(“n*2.按编号查询图书*n“);printf(“n*3.按书名查询图书*n“);printf(“n*4.按作者查询图书*n“);printf(“n*5.返回上
7、级菜单*n“);printf(“n*n“);printf(“n 请选择“);void jhmenuprintf(“n*n“); printf(“n*1.借书*n“);printf(“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“);pr
8、intf(“%st%st%st%st%s“,p-number,p-bookname,p-author,p-publish,p-time); printf(“tt%.2f“,p-price); printf(“tt%s“,p-status); printf(“n“);p=p-next;voidhold(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
9、“,p-number,p-booknam e,p-author,p-publish,p-time);fprintf(fp,“tt%.2f“,p-price); fprintf(fp,“tt%s“,p-status); fprintf(fp,“n“);fclose(fp);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 编号t
10、t 书名tt 作者tt 出版社tt 出版时间tt 价格tt 状态n“);fprintf(fp,“n“);fprintf(fp,“%st%st%st%st%s“,p-number,p-booknam e,p-author,p-publish,p-time);fprintf(fp,“tt%.2f“,p-price); fprintf(fp,“tt%s“,p-status); fprintf(fp,“n“);fclose(fp);printf(“信息已保存“);link *findnumber(link *head)char key100; link *h,*t1=NULL;printf(“请输入图
11、书的编号:“); 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(“请输入图书的书名:“); getchar;gets(key); for(h=head;h!=NULL;h=h-next)if(strcmp(key,h-bookname)=0)t2=h; break;returnt2;link *findauthor(l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 图书 管理 系统 课程设计 报告
限制150内