c语言课程设计图书管理系统报告,C语言图书管理系统课程设计报告[1]

41528d3028836879cd698677c3999917.gifC语言图书管理系统课程设计报告[1]

第三章 图书管理系统的设计与实现3.1 系统的需求分析图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。根据系统界面的提示信息对图书馆信息进行查询、初始化等操作系统功能需求分析描述如下:(1)系统主菜单:进入系统和退出系统(2)功能菜单:显示可以进行的操作(3)查询主菜单:根据图书编号、书名、作者进行查询,并可显示所有图书信息(4)借还书主菜单:可以进行借书和还书等操作3.2系统的设计3.2.1 系统的总统设计下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。(1)总体思想本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、借书、还书等主要功能。系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。(2)系统模块结构图根据需求分析结果,图书管理系统可以分为三大模块:查询图书模块、借书功能模块、还书功能模块。系统模块结构如图: 3.2.2 系统的概要设计㈠系统主菜单。显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。功能主要包括:退出系统、查询图书、借书、还书。㈡查询图书信息进入此菜单功能模块,输入您要查询的图书的编号、名字、作者等。图书查询模块流程如图:图书管理系统图书管理主菜单图书查询系统还书功能系统借书功能系统开始 提示输入图书编号、书名、作者输入正确查询否 是 是否3.3 测试结果系统主界面重新输入退出系统功能菜单查询系统菜单借还系统菜单3.4 源代码# include # include # include typedef struct link{char number[100];char bookname[100];char author[100];char publish[100];char time[100];float price;char status[100]; struct link *next;}link;link *Cbook(){int n=0;link *p,*q,*head;FILE *fp;fp=(“图书信息.txt“,“r+“);if(fp==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“,fscanf(fp,“%s“,p-status);while(feof(fp)==0){n++;if(n==1){head=p;}else{q=p;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“,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.进入图书借还系统 **\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“);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 编号\t\t 书名\t\t 作者\t\t 出版社\t\t 出版时间\t\t 价格\t\t 状态\n“); while(p!=NULL){printf(“\n“);printf(“%s\t%s\t%s\t%s\t%s“,p-number,p-bookname,p-author,p-publish,p-time);printf(“\t\t%.2f“,p-price);printf(“\t\t%s“,p-status);printf(“\n“);p=p-next;}}void hold(link *head){link *p;FILE *fp;fp=(“图书信息.txt“,“w+“);if(fp==NULL){p

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值