




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include<stdio.h>#include<stdlib.h>#include<string.h>struct tushu /*图书结构体*/char num10; /*编号*/char name20; /*书名*/char writer20; /*作者*/char press20; /*出版社*/char kind20; /*类别*/ double time; /*时间*/double price; /*价格*/struct tushu *next;struct stu /*学生结构体*/int snum; /*学号*/char mima10; /
2、*密码*/ struct stu *next;FILE *fp; /*图书文件*/FILE *fp1; /*管理员信息文件*/ FILE *fp2; /*学生信息文件*/void menu(); /*管理员主菜单(管理员进入对图书及学生信息进行管理操作)*/void xmenu(); /*学生主菜单(学生进入可对图书,密码进行操作)*/void gfind(); /*管理员查询(管理员可按一定的方式查询图书)*/void xfind(); /*学生查询(学生可按一定的方式查询图书)*/void secret(); /*管理员权限(管理员登陆所用,输入错误次数过多自动退出)*/void sort
3、(); /*排序(管理员可按一定的方式对图书进行排序,排序完之后可选择文件进行保存)*/void fprint(struct tushu *head); /*保存(可追加的保存,如添加可用)*/void fprint_(struct tushu *head); /*保存(可覆盖保存如修改,删除,排序后用)*/void hfprint(struct tushu *head); /*还书保存(还书成功后自动保存到文件)*/void jfprint_(struct tushu *head); /*借书保存(借书成功之后自动从图书馆删除)*/struct tushu * Input(); /*图书添加
4、(可进行图书的添加)*/struct tushu * create(); /*从文件创建链表(从文件中读出信息,建立单链表)*/void gBrowse(struct tushu *head); /*管理员浏览(对图书进行遍历)*/void xBrowse(struct tushu *head); /*学生浏览(学生对图书进行遍历)*/void count(struct tushu *head); /*统计数量(管理员可对图书进行统计)*/void Findofname(struct tushu *head); /*按书名查找*/void Findofwriter(struct tushu *
5、head); /*按作者查找*/void Findofkind(struct tushu *head); /*按类别查找*/void xFindofname(struct tushu *head); /*学生按书名查找*/void xFindofwriter(struct tushu *head); /*学生按作者查找*/void xFindofkind(struct tushu *head); /*学生按类别查找*/void Sort_time(struct tushu * head); /*按时间排序(管理员按时间对图书进行排序,排序完之后可选择文件进行保存)*/void Sort_pri
6、ce(struct tushu * head); /*按价格排序*/void Sort_num(struct tushu * head); /*按编号排序*/void Delete(struct tushu * head,char m15);/*按编号删除(管理员可按编号删除图书)*/void Revise(struct tushu *head); /*修改(管理员可对图书进行修改,并选择是否保存)*/void borrow(struct tushu *head); /*借书*/void huanshu(); /*还书(学生借完书之后进行还书,若没有图书则不能借)*/void gxinxi()
7、; /*管理员信息(有管理员的账号及密码,可进行修改)*/void xmima(struct 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;ther
8、e: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
9、(" 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");p
10、rintf(" 10学生信息 n");printf(" 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)p
11、rintf("没有图书,请先添加图书!n");system("pause");system("cls");menu();gBrowse(head);else if(choice=3)system("cls");count(head);else if(choice=4)system("cls");if(head=NULL)printf("没有图书,请先添加图书!n");system("pause");system("cls");menu(
12、);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&qu
13、ot;);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(&qu
14、ot;cls");head1=xcreate();if(head1=NULL)printf("没有学生信息,请到xuesheng_list.txt添加!n");system("pause");system("cls");menu();for(p=head1;p!=NULL;p=p->next)printf("学生学号 密码n");printf("%d %sn",p->snum,p->mima);system("pause");system(&quo
15、t;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(" nnn 你错误次数太多,自动退出! nnn"
16、;);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
17、(" 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");pr
18、intf(" 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");sys
19、tem("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");x
20、menu();borrow(head);else if(choice=5)huanshu(head);else if(choice=6)system("cls");head1=xcreate();if(head1=NULL)printf("学生信息被清空!n");system("pause");system("cls");xmenu();xmima(head1); ;else if(choice=0)system("cls");printf("nnnn");printf(&q
21、uot; 感谢使用图书管理系统 nnn");exit(0);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 gfind(
22、)/*管理员查询(管理员可按一定的方式查询图书)*/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&qu
23、ot;);printf(" n");printf(" 3按类别查找 n");printf(" n");printf(" n");printf(" n");printf(" 请选择:");fflush(stdin);head=create();scanf("%d",&choice);if(choice=1)system("cls");Findofname(head);else if(choice=2)system("cl
24、s");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("cls");n+;if(n=3)printf(" nnn 你错误次数太多,自动退出! nnn&
25、quot;);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"); p
26、rintf(" 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"
27、;,&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");xmenu();elsesystem("cls");printf("nnnn 输入错误,请重新输入! nnn
28、");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(&q
29、uot; 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(&
30、quot; 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)system("cls");Sort_num(head);else if(choice=0)system("
31、;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() str
32、uct tushu *p1,*p2,*head,*ptr; char num;int 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("请依次
33、输入书名 作者 出版社 类别 出版时间 价格n");scanf("%s%s%s%s%lf%lf", p1->name,p1->writer,p1->press,p1->kind,&p1->time,&p1->price);p2=p1;p1=(struct tushu *)malloc(sizeof(struct tushu); p2->next=p1;break;if(p1->price!=-1)p2->next=NULL;elsehead=NULL;system("cls"
34、);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("cls
35、");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-
36、>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 图书信息已成功保存到文件tushu_list.txt 中!n"); system("pause"); system("cl
37、s"); 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"); exit(0); if(head=NULL) system("cls"); printf("没有图书!n"); system(&
38、quot;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 图书信息已成
39、功保存到文件 %s 中!n",a); system("pause"); 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=hea
40、d;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);xmenu();void jfprint_(struct tushu *head) struct tushu *p1;if(fp=fopen("tushu_list.txt","
41、;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->press,p1->kind,p1->time,p1->price );/*将图书信息写入文件*/fclose(fp);system("cls&q
42、uot;);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); p->price=-1;fscanf(
43、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 *h
44、ead) 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)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 光伏专业笔试题库及答案
- 2026届黑龙江省大庆市高三第一次质量检测生物试题(解析版)
- 安徽省皖南八校2024-2025学年高二上学期期中考试生物试卷(含答案)
- 体育产业发展趋势预测报告
- 汽车租赁行业优惠活动方案
- 27届八年级上数学入学测试卷
- 焦作古建祠堂施工方案
- 建筑电气临时施工方案
- 婚俗改革联谊活动方案策划
- 湖南职工讲堂活动方案策划
- 十八项核心制度培训培训课件
- 幼儿园警察职业介绍课件
- GB/T 37642-2019聚己内酯(PCL)
- 国防科技大学介绍
- 校音乐厅设计方案
- 新视野大学英语读写教程Unit1教案(含和译文)
- 机电一体化设计
- 新教材教科版五年级上册科学 第二单元 地球表面的变化 单元全套课时练
- (中职中专)财经法规与会计职业道德课件完整版电子教案
- DB37T 5151-2019 园林绿化工程资料管理规程
- 贝多芬F大调浪漫曲—小提琴谱(带钢伴谱)
评论
0/150
提交评论