“图书管理系统.rtf
#include#include#include void wenjian(void);void jiemian(void);void jiemian2(void);void jiemian3(void);void jiemian4(void);void jiemian5(void);void jiemian6(void);void jiemian7(void);void xuanzhe(void);void guanliyewu(void);void tushuguanli(void);void duzheguanli(void);void jieshuhuanshu(void);void jieshu(void);void huanshu(void);void xiugai(void);void shanchu(void);void xiugaiduzhe(void);void shanchuduzhe(void);void tianjia(void);void tianjiaduzhe(void);void jiemianx(void);void jiemiany(void);void mima(void);typedef struct/关于图书信息的结构体 int bianhao;char shuming20;char zhuzhe20;int yijie;int shengyu;Tushu;Tushu a20=0,韩寒文集,韩寒,0,20,1,小李飞刀,古龙,0,20,2,羊脂球,莫泊桑,0,20,3,童年,高尔基,0,20,4,活着,余华,0,20,5,情人无泪,张小娴,0,20,6,超越自己,刘墉,0,20,7,复活,XX,0,20,8,简-爱,夏洛蒂勃朗特,0,20,9,飞鸟集,泰戈尔,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;typedef struct/关于读者的结构体 int bianhao;char xingming20;char jieshu30;int shuliang;Duzhe;Duzhe b15=/0,小明,韩寒文集,5,/1,小红,小李飞刀,5,/2,小芳,羊脂球,5,/3,张三,童年,5,/4,李四,活着,5,0,小明,0,0,1,小红,0,0,2,小芳,0,0,3,张三,0,0,4,李四,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;FILE*p,*q;/*主函数*/int main(int argc,const char*argv)/创建两个文件*p*q分别指向图书信息和读者信息的文件 /if(p=fopen(/Users/ldci/Desktop/Tushu,w)=NULL)/printf(文件打开失败:);/printf(欢迎你再次使用XX图书管理系统,再见!);/exit(1);/fwrite(a,sizeof(Tushu),15,p);/if(q=fopen(/Users/ldci/Desktop/Duzhe,w)=NULL)/printf(文件打开失败:);/printf(欢迎你再次使用XX图书管理系统,再见!);/exit(1);/fwrite(b,sizeof(Duzhe),11,q);/fclose(p);/fclose(q);mima();/jiemian();/xuanzhe();return 0;/*主界面*/void jiemian()/主界面函数 printf(*n);printf(欢迎使用XX图书管理系统 );printf(*n);printf(#请选择你需要的服务#n);printf(管理业务请按1n);printf(借书还书业务请按2n);void xuanzhe()/包含管理业务借书还书业务 int i=0;scanf(%d,&i);while(1)switch(i)case 1:jiemian2();/管理业务界面 guanliyewu();/管理业务 break;case 2:jiemian5();/借书还书界面 jieshuhuanshu();/借书还书业务 break;default:printf(你的输入有误,请重新输入:);break;break;xuanzhe();/*/*管理业务界面函数*/void jiemian2()/管理业务界面 printf(#请选择你需要的服务#n);printf(图书管理业务请按1n);printf(读者业务请按2n);void guanliyewu()/包含图书管理和读者管理业务 int i=0;scanf(%d,&i);while(1)switch(i)case 1:jiemian3();/图书管理界面 tushuguanli();/图书管理 break;case 2:jiemian4();/读者管理界面 duzheguanli();/读者管理 break;default:printf(你的输入有误,请重新输入:);break;break;guanliyewu();/*图书管理界面函数*/void jiemian3()/图书管理界面 printf(#请选择你需要的操作#n);printf(添加图书操作请按1n);printf(修改图书操作请按2n);printf(删除图书操作请按3n);void tushuguanli()/图书管理业务函数 while(1)int i;scanf(%d,&i);switch(i)case 1:/添加图书操作 jiemianx();tianjia();break;case 2:/修改图书操作 xiugai();break;case 3:/删除图书操作 shanchu();break;default:printf(你的输入有误,请重新输入:);break;break;tushuguanli();void tianjia()/*/if(p=fopen(/Users/ldci/Desktop/Tushu,r)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);Tushu s20;fread(s,sizeof(Tushu),15,p);fclose(p);/*/static int h=10;if(p=fopen(/Users/ldci/Desktop/Tushu,w)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);printf(#请输入你要添加的书名,作者,已借数量,剩余数量;以空格隔开#n);scanf(%s%s%d%d,&sh.shuming,&sh.zhuzhe,&sh.yijie,&sh.shengyu);sh.bianhao=h;h+;fwrite(s,sizeof(Tushu),15,p);fclose(p);jiemianx();printf(图书添加成功nn);printf(继续添加请按1n);printf(返回主菜单请按2n);printf(退出系统请按3n);int j;scanf(%d,&j);switch(j)case 1:tianjia();break;case 2:jiemian();xuanzhe();break;case 3:printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);default:break;void xiugai()/实现图书的修改 /*/if(p=fopen(/Users/ldci/Desktop/Tushu,r)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);Tushu s20;fread(s,sizeof(Tushu),15,p);fclose(p);/*/printf(#请按编号选择你要修改的图书#n);jiemianx();int i=0;scanf(%d,&i);printf(#请输入你要修改的图书信息编号,书名,作者,已借数量,剩余数量;以空格隔开#n);Tushu d3;scanf(%d%s%s%d%d,&d0.bianhao,&d0.shuming,&d0.zhuzhe,&d0.yijie,&d0.shengyu);if(p=fopen(/Users/ldci/Desktop/Tushu,w)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);si.bianhao=d0.bianhao;strcpy(si.shuming,d0.shuming);strcpy(si.zhuzhe,d0.zhuzhe);si.yijie=d0.yijie;si.shengyu=d0.shengyu;fwrite(s,sizeof(Tushu),15,p);fclose(p);printf(图书修改成功!nn);jiemianx();printf(继续修改请按1n);printf(返回主菜单请按2n);printf(退出系统请按3n);int j;scanf(%d,&j);switch(j)case 1:xiugai();break;case 2:jiemian();xuanzhe();break;case 3:printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);default:break;void shanchu()/实现图书的删除 jiemianx();printf(#请按编号选择你要删除的图书:#n);/*/if(p=fopen(/Users/ldci/Desktop/Tushu,r)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);Tushu s20;fread(s,sizeof(Tushu),15,p);fclose(p);/*/int i=0;scanf(%d,&i);if(p=fopen(/Users/ldci/Desktop/Tushu,w)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);si.bianhao=0;strcpy(si.shuming,0);strcpy(si.zhuzhe,0);si.yijie=0;si.shengyu=0;fwrite(s,sizeof(Tushu),15,p);fclose(p);jiemianx();printf(图书删除成功!nn);printf(继续删除请按1n);printf(返回主菜单请按2n);printf(退出系统请按3n);int j;scanf(%d,&j);switch(j)case 1:shanchu();break;case 2:jiemian();xuanzhe();break;case 3:printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);default:break;/*读者管理界面函数*/void jiemian4()/读者管理界面 printf(#请选择你需要的操作#n);printf(添加读者操作请按1n);printf(修改读者操作请按2n);printf(删除读者操作请按3n);void duzheguanli()/读者业务函数 while(1)int i;scanf(%d,&i);switch(i)case 1:/添加读者操作 tianjiaduzhe();break;case 2:/修改读者操作 xiugaiduzhe();break;case 3:/删除读者操作 shanchuduzhe();break;default:printf(你的输入有误,请重新输入:);break;break;duzheguanli();void tianjiaduzhe()jiemiany();/*/if(q=fopen(/Users/ldci/Desktop/Duzhe,r)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);Duzhe t15;fread(t,sizeof(Duzhe),10,q);fclose(q);/*/static int h=5;if(q=fopen(/Users/ldci/Desktop/Duzhe,w)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);printf(#请输入你要添加的读者姓名,已借书名,已借数量;以空格隔开#n);scanf(%s%s%d,&th.xingming,&th.jieshu,&th.shuliang);th.bianhao=h;h+;fwrite(t,sizeof(Duzhe),10,q);fclose(q);jiemiany();printf(读者添加成功nn);printf(继续添加请按1n);printf(返回主菜单请按2n);printf(退出系统请按3n);int j;scanf(%d,&j);switch(j)case 1:tianjiaduzhe();break;case 2:jiemian();xuanzhe();case 3:printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);default:break;void xiugaiduzhe()/实现读者的修改 /*/if(q=fopen(/Users/ldci/Desktop/Duzhe,r)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);Duzhe t15;fread(t,sizeof(Duzhe),10,q);fclose(q);/*/jiemiany();printf(#请按编号选择你要修改读者:#);int i=0;scanf(%d,&i);printf(#请输入你要修改的读者信息编号,姓名,已借书名,借书数量;以空格隔开#n);Duzhe d3;scanf(%d%s%s%d,&d0.bianhao,&d0.xingming,&d0.jieshu,&d0.shuliang);if(q=fopen(/Users/ldci/Desktop/Duzhe,w)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);ti.bianhao=d0.bianhao;strcpy(ti.xingming,d0.xingming);strcpy(ti.jieshu,d0.jieshu);ti.shuliang=d0.shuliang;fwrite(t,sizeof(Tushu),10,q);fclose(q);jiemiany();printf(读者修改成功!nn);printf(继续修改请按1n);printf(返回主菜单请按2n);printf(退出系统请按3n);int j;scanf(%d,&j);switch(j)case 1:xiugaiduzhe();break;case 2:jiemian();xuanzhe();break;case 3:printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);default:break;void shanchuduzhe()/实现读者的删除 /*/if(q=fopen(/Users/ldci/Desktop/Duzhe,r)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);Duzhe t15;fread(t,sizeof(Duzhe),10,q);fclose(q);/*/jiemiany();printf(#请输入你要删除的读者编号#n);int i=0;scanf(%d,&i);if(q=fopen(/Users/ldci/Desktop/Duzhe,w)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);ti.bianhao=0;strcpy(ti.xingming,0);strcpy(ti.jieshu,0);ti.shuliang=0;fwrite(t,sizeof(Duzhe),10,q);fclose(q);jiemiany();printf(读者删除成功!nn);printf(继续删除请按1n);printf(返回主菜单请按2n);printf(退出系统请按3n);int j;scanf(%d,&j);switch(j)case 1:shanchuduzhe();break;case 2:jiemian();xuanzhe();break;case 3:printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);default:break;/*/*借书还书界面函数*/void jiemian5()/借书还书界面 printf(#请选择你需要的服务#n);printf(借书业务请按1n);printf(还书业务请按2n);void jieshuhuanshu()/包含借书业务还书业务 int i=0;scanf(%d,&i);while(1)switch(i)case 1:jiemian6();/借书业务界面 jieshu();/借书业务 break;case 2:jiemian7();/还书业务界面 huanshu();/还书业务 break;default:printf(你的输入有误,请重新输入:);break;break;jieshuhuanshu();/*借书界面函数*/void jiemian6()/借书界面 jiemiany();printf(*n);jiemianx();printf(#请输入借书的读者编号,图书编号,数量以空格隔开(最大库存为20本):#n);void jieshu()/借书函数 if(p=fopen(/Users/ldci/Desktop/Tushu,r)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);if(q=fopen(/Users/ldci/Desktop/Duzhe,r)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);Tushu c15;Duzhe d10;fread(c,sizeof(Tushu),15,p);fread(d,sizeof(Duzhe),10,q);fclose(p);fclose(q);int i=0,j=0,k=0;scanf(%d%d%d,&k,&i,&j);if(jci.shengyu)printf(对不起你的借书数量超过库存上限,请重新输入:n);jieshu();else if(jdk.shuliang)printf(对不起,你的输入超过了以借数量n);printf(继续还书请按1n);printf(返回主菜单请按2n);printf(否则退出n);int l=0;scanf(%d,&l);switch(l)case 1:jiemian7();huanshu();break;case 2:jiemian();xuanzhe();break;default:exit(1);break;else if(j=dk.shuliang)ci.bianhao=i;strcpy(ci.shuming,ci.shuming);strcpy(ci.zhuzhe,ci.zhuzhe);ci.yijie=ci.yijie-j;ci.shengyu=ci.shengyu+j;dk.bianhao=k;strcpy(dk.xingming,dk.xingming);strcpy(dk.jieshu,0);dk.shuliang=0;else if(jdk.shuliang)ci.bianhao=i;strcpy(ci.shuming,ci.shuming);strcpy(ci.zhuzhe,ci.zhuzhe);ci.yijie=ci.yijie-j;ci.shengyu=ci.shengyu+j;dk.bianhao=k;strcpy(dk.xingming,dk.xingming);strcpy(dk.jieshu,dk.jieshu);dk.shuliang=dk.shuliang-j;if(p=fopen(/Users/ldci/Desktop/Tushu,w)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);if(q=fopen(/Users/ldci/Desktop/Duzhe,w)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);fwrite(c,sizeof(Tushu),15,p);fwrite(d,sizeof(Duzhe),10,q);fclose(p);fclose(q);jiemiany();printf(*n);jiemianx();printf(你已还书成功n);printf(继续还书请按1n);printf(返回主菜单请按2n);printf(退出系统请按3n);int s=0;scanf(%d,&s);switch(s)case 1:jiemian7();huanshu();break;case 2:jiemian();xuanzhe();break;case 3:printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);default:break;void jiemianx()if(p=fopen(/Users/ldci/Desktop/Tushu,r)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);Tushu c20;fread(c,sizeof(Tushu),15,p);for(int t=0;t15;t+)printf(%d%s%s%d%dn,ct.bianhao,ct.shuming,ct.zhuzhe,ct.yijie,ct.shengyu);/fflush(stdout);fclose(p);void jiemiany()if(q=fopen(/Users/ldci/Desktop/Duzhe,r)=NULL)printf(文件打开失败:);printf(欢迎你再次使用XX图书管理系统,再见!);exit(1);Duzhe c10;fread(c,sizeof(Duzhe),10,q);for(int t=0;t10;t+)printf(%d%s%s%dn,ct.bianhao,ct.xingming,ct.jieshu,ct.shuliang);/fflush(stdout);fclose(q);void mima()printf(请输入密码:);int b=0;for(int i=0;i 3;i+)scanf(%d,&b);if(b=123456)jiemian();xuanzhe();else if(i=2)break;else printf(密码错误,请重新输入:);printf(密码输入次数超过上限,强制退出!);exit(1);