




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图书管理系统代码/*/图书馆管理系统/*#include#include#include#define null 0#define max 65536static int n;/*/ 图书结构体/*typedef struct char num10; /书号 char name9; /书名 char addr31; /作者 int Nowcounter; /现存量 int Allcounter; /总库存量datatype;datatype *xmax; /定义两个指针数组datatype *p;/*/图书功能函数列表/*void redo(); /主递归函数void creatlist(datatype *x); /图书建立函数 int menu_select(); /功能菜单函数void find(datatype *x,int n); /查找函数void delnode(datatype *x); /插入函数void printlist(datatype *x); /显示函数void jieyue(datatype *x,int n); /借阅函数void guihuan(datatype *x,int n); /归还函数/*/主递归函数程序/*void redo() int i=0,j,n1,k=0,flage; for( ; ;) switch( menu_select() case 1: /选项1的实现 printf(*n); printf(* 图书的建立 *n); printf(*n); creatlist(x); break; case 2: /选项2的实现 printf(*n); printf(* 新图书信息的添加 *n); printf(*n); printf( 插入的个数:); scanf(%d,&n1); /输入插入新图书的个数 for(i=0;iname); /输入插入书的书名 if(flage=0) for(j=0;jname,p-name) = 0 )/调用比较函数查看书名是否已知 xj-Allcounter+; xj-Nowcounter+; flage=1; if(flage=0) n+; printf( 第 %d 个图书数据:n,n); /插入新的图书 p=(datatype *)malloc(sizeof(datatype); xn-1=p; printf( 书名:); scanf(%s,xn-1-name); /输入书名 printf( 编号:); scanf( %s,xn-1-num); /输入书号 printf( 作者:); scanf( %s,xn-1-addr); / 输入作者名 printf( 总库存量: ); scanf(%d,&xn-1-Allcounter); /输入总库存量 xn-1-Nowcounter=xn-1-Allcounter; break; case 3: printf(*n); printf(* 图书信息的查询 *n); printf(*n); find(x,n); break; case 4: printf(*n); printf(* 图书信息的删除 *n); printf(*n); delnode(x); break; case 5: printf(*n); printf(* 图书信息的显示 *n); printf(*n); printlist(x); break; case 6: printf(*n); printf( 图书的借阅n); printf(*n); jieyue(x,n); break; case 7: printf(*n); printf( 图书的归还n); printf(*n); guihuan(x,n); break; case 0: printf(t 谢谢使用,再见! n); return; /*/主函数程序 /*void main () redo(); /调用主递归函数/*/功能菜单函数 /*int menu_select() int i; printf( 欢迎进入图书管理系统!n); printf(=n); printf( 1. 图书信息的采集n); printf( 2. 新图书的插入n); printf( 3. 图书信息的查询n); printf( 4. 图书的删除n); printf( 5. 图书的显示n); printf( 6. 图书的借阅n); printf( 7. 图书的归还n); printf( 0. 退出管理系统n); printf(=n); printf( 请选择0-7: ); scanf(%d,&i); while(i7) printf(nt输入出错,重选0-7: ); scanf(%d,&i); return i;/*/ 建立链表图书建造函数 /*void creatlist(datatype *x) int i; printf( 请输入要建立图书的个数:); scanf(%d,&n); for(i=0;iname); printf( 编号:); scanf( %s,xi-num); printf( 作者:); scanf( %s,xi-addr); printf( 总库存量: ); scanf(%d,&xi-Allcounter); xi-Nowcounter=xi-Allcounter; /*/ 查找函数程序 /*void find(datatype *x,int n) char num10; char name9; int t,i; printf(=n); /输出查找方式 printf( 1.按编号查询 n); printf( 2.按书名查询 n); printf(=n); printf( 请选择 : ); scanf(%d,&t); /输入选择信息 if(t=1) printf( 请输入要查找者的编号: ); scanf(%s,num); /输入书号 for(i=0;inum,num)=0) /调用strcmp函数 printf( 编号 书名 作者 现库存量 总库存量n); /输出要查询书的信息 printf( %-10s%-10s%-10s%-10d%-10dn,xi-num,xi-name,xi-addr,xi-Nowcounter,xi-Allcounter); else continue; else printf( 请输入要查询的书名: ); scanf(%s,name); / 输入书名 for(i=0;iname,name)=0) printf(编号 书名 作者 现库存量 总库存量n); /输出要查询书的信息 printf( %-10s%-10s%-10s%-10d%-10dn,xi-num,xi-name,xi-addr,xi-Nowcounter,xi-Allcounter); else continue; /*/删除函数程序/*void delnode(datatype *x) char num110,name110; /定义两个字符数组 int i,j,m=1,p; printf( 1.按编号删除n); /输出选择方式 printf( 2.按书名删除n); printf( 3.返回n); printf( 请选择:n); scanf(%d,&p); /输入选择信息 if(p3|p1) printf( 您的输入有误,请重新输入!n); scanf(%d,&p); /重新输入选择信息 switch(p) /实现删除程序 case 1: printf( 输入要删除书的编号:n); scanf( %s,num1); for(i=0;inum,num1)=0) /调用strcmp函数 m=0; n-; for(j=i;jn;j+) xj=xj+1; /将该书信息删除 printf( 该书已删除!n); if(m=1) printf( 没有这样的的图书n); break; case 2: printf( 输入要删除书的名字:n); scanf(%s,&name1); for(i=0;iname,name1)=0) /调用strcmp函数 m=0; n-; for(j=i;j3|p1) printf( 您的输入有误!n); scanf(%d,&p); /重新输入选择信息 switch(p) /实现查询程序 case 1: printf( 请输入你要的书的名字!n); scanf(%s,&name1); / 输入书名 for(i=0;iname,name1)=0) /调用strcmp函数 m=0; if(xi-Nowcounter!=0) xi-Nowcounter-; printf( 借书成功!n); if(xi-Nowcounter=0) printf( 这本书已经没有了 n); if(m=1) printf( 您要的书不存在!n); break; case 2: printf( 请输入你要的书的编号!n); scanf(%s,&num1); / 输入书号 for(i=0;inum,num1)=0) /调用strcmp函数 m=0; if(xi-Nowcounter!=0) xi-Nowcounter-; /现存书数量减1 printf( 借书成功!n); if(xi-Nowcounter=0) printf( 这本书已经没有了 n); if(m=1) printf( 您要的书不存在!n); break; case 3: break; /归还程序/void guihuan(datatype *x,int n) int i,q,m=1; char name110,num110; /定义两个字符数组 printf( 1.按书名归还n); /输出可选择方式 printf( 2.按书号归还n); printf( 3.返回n); printf( 请选择n); scanf(%d,&q); /输入选择信息 if(q3|q1) printf( 您的输入有误!n); scanf(%d,&q); /重新输入选择信息 switch(q) /实现归还程序 case 1: printf( 输入归还书的书名: ); scanf(%s,&name1); / 输入书名 for(i=0;iname,name1)=0) m=0; xi-Nowcounter+; printf(此书归还成功!n); printf(此书的存储情况n); printf(编号 书名 作者 现存量 总存量n); printf(=n); printf( %-10s%-10s%-10s%-10d%-10dn,xi-num,xi-name,xi-addr,xi-Nowcounter,xi-Allcounter); printf(=n); if(strcmp(xi-name,name1)=0) continue; if(m=1) printf(此书不是图书馆的!n); break; case 2: printf(输入归还书的书号n); scanf(%s,&num1); / 输入书号 for(i=0;inum,num1)=0) m=0; xi-Nowcounter+; /显存书增加1 printf(此书归还成功!n); printf(此书的存储情况n); printf(编号 书名 作者 现存量 总存量n); printf(=n); printf( %-10s%-10s%-10s%-10d%-10dn,xi-num,xi-name,xi-addr,xi-Nowcounter,xi-Allcounter); printf(=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 2387-2025反应染料色光和强度的测定
- GB/T 4236-2025钢的硫印检验方法
- 化工公司安全技术培训课件
- 农业机械安全培训致辞稿课件
- 刺激与反应课件
- 化工企业安全培训教育课件
- 初学者硬笔课件
- 兴化安全培训课件
- 婚纱照营销方案(3篇)
- 初中食品安全培训课件
- 美术微课课题立项申报书
- GB/T 46084-2025燃煤锅炉火焰温度图像检测技术规范
- 2025年贵州省毕节市辅警招聘考试题题库(含参考答案)
- 女职工法律培训
- 2025口腔执业医师考试仿真模拟试题及答案
- 2025年辅警考试公共基础知识真题库(含答案)
- 兵团面试题目及答案
- 2025劳动合同范本下载
- 2025-2026学年高二上学期数学第一次月考立体几何卷全解析【测试范围:沪教版2020必修第三册第十章】(上海专用)
- 小学法律知识竞赛试题(附答案)
- 浙教版(2023)五年级上册信息科技 第1课 身边的算法 课件
评论
0/150
提交评论