C语言图书管理系统源代码_第1页
C语言图书管理系统源代码_第2页
C语言图书管理系统源代码_第3页
C语言图书管理系统源代码_第4页
C语言图书管理系统源代码_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include#include#includestruct tushu /*图书结构体*/char num10; /*编号*/char name20; /*书名*/char writer20; /*作者*/char press20; /*出版社*/char kind20; /*类别*/ double time; /*时间*/double price; /*价格*/struct tushu *next;struct stu /*学生结构体*/int snum; /*学号*/char mima10; /*密码*/ struct stu *next;file *fp; /*图书文件*/file *

2、fp1; /*管理员信息文件*/ file *fp2; /*学生信息文件*/void menu(); /*管理员主菜单(管理员进入对图书及学生信息进行管理操作)*/void xmenu(); /*学生主菜单(学生进入可对图书,密码进行操作)*/void gfind(); /*管理员查询(管理员可按一定的方式查询图书)*/void xfind(); /*学生查询(学生可按一定的方式查询图书)*/void secret(); /*管理员权限(管理员登陆所用,输入错误次数过多自动退出)*/void sort(); /*排序(管理员可按一定的方式对图书进行排序,排序完之后可选择文件进行保存)*/voi

3、d fprint(struct tushu *head); /*保存(可追加的保存,如添加可用)*/void fprint_(struct tushu *head); /*保存(可覆盖保存如修改,删除,排序后用)*/void hfprint(struct tushu *head); /*还书保存(还书成功后自动保存到文件)*/void jfprint_(struct tushu *head); /*借书保存(借书成功之后自动从图书馆删除)*/struct tushu * input(); /*图书添加(可进行图书的添加)*/struct tushu * create(); /*从文件创建链表(

4、从文件中读出信息,建立单链表)*/void gbrowse(struct tushu *head); /*管理员浏览(对图书进行遍历)*/void xbrowse(struct tushu *head); /*学生浏览(学生对图书进行遍历)*/void count(struct tushu *head); /*统计数量(管理员可对图书进行统计)*/void findofname(struct tushu *head); /*按书名查找*/void findofwriter(struct tushu *head); /*按作者查找*/void findofkind(struct tushu *h

5、ead); /*按类别查找*/void xfindofname(struct tushu *head); /*学生按书名查找*/void xfindofwriter(struct tushu *head); /*学生按作者查找*/void xfindofkind(struct tushu *head); /*学生按类别查找*/void sort_time(struct tushu * head); /*按时间排序(管理员按时间对图书进行排序,排序完之后可选择文件进行保存)*/void sort_price(struct tushu * head); /*按价格排序*/void sort_num

6、(struct tushu * head); /*按编号排序*/void delete(struct tushu * head,char m15);/*按编号删除(管理员可按编号删除图书)*/void revise(struct tushu *head); /*修改(管理员可对图书进行修改,并选择是否保存)*/void borrow(struct tushu *head); /*借书*/void huanshu(); /*还书(学生借完书之后进行还书,若没有图书则不能借)*/void gxinxi(); /*管理员信息(有管理员的账号及密码,可进行修改)*/void xmima(struct

7、stu *head1); /*学生密码修改(学生可对自己的密码进行修改)*/struct stu * xcreate(); /*从文件创建学生信息(从文件读出学生信息,建立学生链表)*/void xsecret(struct stu *head1); /*学生权限(学生登陆所用)*/void menu() /*管理员主菜单(管理员进入对图书及学生信息进行管理操作)*/int choice,n=0;struct tushu *head;struct stu *head1,*p;char m15;there:printf( n); printf( socat 图书管理系统 n);printf( n

8、);printf( 0退出系统 n); printf( n);printf( 1帮助 n);printf( n);printf( 2浏览图书 n);printf( n);printf( 3统计图书数目 n);printf( n);printf( 4查询 n);printf( n);printf( 5添加 n);printf( n);printf( 6排序 n);printf( n);printf( 7修改 n);printf( n);printf( 8删除 n);printf( n);printf( 9修改账号及密码 n);printf( n);printf( 10学生信息 n);printf

9、( n);printf( 请选择:);fflush(stdin);head=create();scanf(%d,&choice);if(choice=1) /help();printf(没有内容!n);system(pause);system(cls);menu();else if(choice=2)system(cls);if(head=null)printf(没有图书,请先添加图书!n);system(pause);system(cls);menu();gbrowse(head);else if(choice=3)system(cls);count(head);else if(choice

10、=4)system(cls);if(head=null)printf(没有图书,请先添加图书!n);system(pause);system(cls);menu();gfind();else if(choice=5)input();else if(choice=6)system(cls);if(head=null)printf(没有图书,请先添加图书!n);system(pause);system(cls);menu();sort(head);else if(choice=7)system(cls);if(head=null)printf(没有图书,请先添加图书!n);system(pause

11、);system(cls);menu();revise(head) ;else if(choice=8)if(head=null)printf(没有图书,请先添加图书!n);system(pause);system(cls);menu();printf( 请输入想要删除的图书编号:); scanf(%s,m);delete(head,m);else if(choice=9)gxinxi();else if(choice=10)system(cls);head1=xcreate();if(head1=null)printf(没有学生信息,请到xuesheng_list.txt添加!n);syst

12、em(pause);system(cls);menu();for(p=head1;p!=null;p=p-next)printf(学生学号 密码n);printf(%d %sn,p-snum,p-mima);system(pause);system(cls);menu();else if(choice=0)system(cls);printf(nnnn);printf( 感谢使用图书管理系统 nnn);exit(0);elsesystem(cls);printf(nnnn 输入错误,请重新输入! nnn );system(pause);system(cls);n+;if(n=3)printf(

13、 nnn 你错误次数太多,自动退出! nnn);printf( 感谢使用图书管理系统 nnn);system(pause);exit(0);goto there;void xmenu()/*学生主菜单(学生进入可对图书,密码进行操作)*/ struct tushu *head;struct stu *head1;int choice,n=0;there:printf( n); printf( socat 图书借阅系统 n);printf( n);printf( 0退出系统 n); printf( n);printf( 1帮助 n);printf( n);printf( 2浏览图书 n);pri

14、ntf( n);printf( 3查询 n);printf( n);printf( 4借书 n);printf( n);printf( 5还书 n);printf( n);printf( 6修改密码 n);printf( n);printf( 请选择:);fflush(stdin);head=create();scanf(%d,&choice);if(choice=1) /xhelp();printf(没有内容!n);system(pause);system(cls);xmenu();else if(choice=2)system(cls);if(head=null)printf(没有图书!n

15、);system(pause);system(cls);xmenu();xbrowse(head);else if(choice=3)if(head=null)printf(没有图书!n);system(pause);system(cls);xmenu();xfind();else if(choice=4)if(head=null)printf(没有图书!n);system(pause);system(cls);xmenu();borrow(head);else if(choice=5)huanshu(head);else if(choice=6)system(cls);head1=xcrea

16、te();if(head1=null)printf(学生信息被清空!n);system(pause);system(cls);xmenu();xmima(head1); ;else if(choice=0)system(cls);printf(nnnn);printf( 感谢使用图书管理系统 nnn);exit(0);elsesystem(cls);printf(nnnn 输入错误,请重新输入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你错误次数太多,自动退出! nnn);printf( 感谢使用图书管理系统 nnn);sys

17、tem(pause);exit(0);goto there;void gfind()/*管理员查询(管理员可按一定的方式查询图书)*/int choice,n=0;struct tushu *head;there:system(cls);printf( n);printf( socat 图书借阅系统 n);printf( n);printf( 0返回 n);printf( n);printf( 1按书名查找 n);printf( n);printf( 2按作者查找 n);printf( n);printf( 3按类别查找 n);printf( n);printf( n);printf( n);

18、printf( 请选择:);fflush(stdin);head=create();scanf(%d,&choice);if(choice=1)system(cls);findofname(head);else if(choice=2)system(cls);findofwriter(head);else if(choice=3)system(cls);findofkind(head);else if(choice=0)system(cls);menu();elsesystem(cls);printf(nnnn 输入错误,请重新输入! nnn );system(pause);system(cl

19、s);n+;if(n=3)printf( nnn 你错误次数太多,自动退出! nnn);printf( 感谢使用图书管理系统 nnn);system(pause);exit(0);goto there;void xfind() /*学生查询(学生可按一定的方式查询图书)*/struct tushu *head;int choice,n=0;there:system(cls);printf( n); printf( socat 图书借阅系统 n);printf( n);printf( 0返回 n); printf( n);printf( 1按书名查找 n);printf( n);printf(

20、2按作者查找 n);printf( n);printf( 3按类别查找 n);printf( n);printf( n);printf( n);printf( 请选择:);fflush(stdin);head=create();scanf(%d,&choice);if(choice=1)system(cls);xfindofname(head);else if(choice=2)system(cls);xfindofwriter(head);else if(choice=3)system(cls);xfindofkind(head);else if(choice=0)system(cls);x

21、menu();elsesystem(cls);printf(nnnn 输入错误,请重新输入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你错误次数太多,自动退出! nnn);printf( 感谢使用图书借阅系统 nnn);system(pause);exit(0);goto there;void sort()struct tushu *head;int choice,n=0;there:system(cls);printf( n); printf( socat 图书借阅系统 n);printf( n); printf( 0返回

22、n); printf( n); printf( 1按时间排序 n); printf( n); printf( 2按价格排序 n); printf( n); printf( 3按编号排序 n); printf( n); printf( n); printf( n); printf( 请选择:);fflush(stdin);head=create();scanf(%d,&choice);if(choice=1)system(cls); sort_time(head);else if(choice=2)system(cls);sort_price(head);else if(choice=3)sys

23、tem(cls);sort_num(head);else if(choice=0)system(cls);menu();elsesystem(cls);printf(nnnn 输入错误,请重新输入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你错误次数太多,自动退出! nnn);printf( 感谢使用图书借阅系统 nnn); system(pause); exit(0);goto there;struct tushu *input() struct tushu *p1,*p2,*head,*ptr; char num;int

24、x,i=0;system(cls);p1=(struct tushu *)malloc(sizeof(struct tushu); head=p1;p1-price=-1;while(i!=1)printf(请输入编号,以#结束n);scanf(%s,p1-num);if(strcmp(p1-num,#)=0)i=1;while(i!=1)printf(请依次输入书名 作者 出版社 类别 出版时间 价格n);scanf(%s%s%s%s%lf%lf, p1-name,p1-writer,p1-press,p1-kind,&p1-time,&p1-price);p2=p1;p1=(struct

25、tushu *)malloc(sizeof(struct tushu); p2-next=p1;break;if(p1-price!=-1)p2-next=null;elsehead=null;system(cls);printf(nnnttt图书信息输入结束!nnn);system(pause); system(cls);printf(nnnttt是否保存图书信息?(1.是/2.否):);scanf(%d,&x); if(x=1) fprint(head);else system(cls);printf(nnnttt 文件没有被保存!nnnn);system(pause);system(cl

26、s);menu(); void fprint(struct tushu *head) struct tushu *p1; if(fp=fopen(tushu_list.txt,a)=null) printf(file open error!n); exit(0); if(head=null)printf(没有图书保存!n);system(pause);system(cls);menu();for(p1=head;p1!=null;p1=p1-next) /*遍历*/fprintf(fp,%st%st%st%st%st%.0lft%lfn, p1-num,p1-name,p1-writer,p1

27、-press,p1-kind,p1-time,p1-price );/*将图书信息写入文件*/ fclose(fp);system(cls);printf(n 图书信息已成功保存到文件tushu_list.txt 中!n); system(pause); system(cls); getchar(); menu();void fprint_(struct tushu *head) struct tushu *p1;char a20;printf(请输入你保存的文件!n);scanf(%s,a);if(fp=fopen(a,w)=null)printf(file open error!n); e

28、xit(0); if(head=null) system(cls); printf(没有图书!n); system(pause); system(cls); menu(); for(p1=head;p1!=null;p1=p1-next) fprintf(fp,%st%st%st%st%st%.0lft%lfn, p1-num,p1-name,p1-writer,p1-press,p1-kind,p1-time,p1-price );/*将图书信息写入文件*/ fclose(fp); system(cls); printf(n 图书信息已成功保存到文件 %s 中!n,a); system(pa

29、use); system(cls); menu();void hfprint(struct tushu *head) struct tushu *p1; if(fp=fopen(tushu_list.txt,a)=null) printf(file open error!n); exit(0); if(head=null)printf(没有还书!n);xmenu();for(p1=head;p1!=null;p1=p1-next) /*遍历*/fprintf(fp,%st%st%st%st%st%.0lft%lfn, p1-num,p1-name,p1-writer,p1-press,p1-k

30、ind,p1-time,p1-price );/*将图书信息写入文件*/ fclose(fp);xmenu();void jfprint_(struct tushu *head) struct tushu *p1;if(fp=fopen(tushu_list.txt,w)=null)printf(file open error!n); exit(0);if(head=null)xmenu();for(p1=head;p1!=null;p1=p1-next)fprintf(fp,%st%st%st%st%st%.0lft%lfn, p1-num,p1-name,p1-writer,p1-pres

31、s,p1-kind,p1-time,p1-price );/*将图书信息写入文件*/fclose(fp);system(cls);getchar(); xmenu();struct tushu * create()struct tushu *head=null, *p,*p1,*p2;if(fp=fopen(tushu_list.txt,r)=null)/*先安全打开目录文件*/ printf(file open error!n);exit(0); while(!feof(fp)/*读取并创建链表*/ p=(struct tushu *)malloc(sizeof(struct tushu);

32、 p-price=-1;fscanf(fp,%s%s%s%s%s%lf%lf, p-num,p-name,p-writer,p-press,p-kind,&p-time,&p-price); if(p-price=-1)free(p);break;if(head=null) head=p;p1=p;p1-next=null; elsep1-next=p;p2=p1;p1=p;p1-next=null; fclose(fp);return head; void gbrowse(struct tushu *head) struct tushu *p1; for(p1=head;p1!=null;p1=p1-next) printf(编号 书名 作者 出版社 类别 出版时间 价格n); printf( %st%st%st%st%st%.0lft%.2lfn, p1-num,p1-name,p1-writer,p1-press,p1-kind,p1-time,p1-price); system(pause); system(cls); menu(); void xbrowse(struct tushu *head) struct tushu *p1; for(p1=head;p1!=null;p1=p1-next) printf(编号 书名 作者 出版社

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论