图书管理系统程序代码.pdf
《图书管理系统程序代码.pdf》由会员分享,可在线阅读,更多相关《图书管理系统程序代码.pdf(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、include stdio.hinclude include 欢迎使用君宁图书管理系统 name,name);strcpy(p zuozhe,zuozhe);strcpy(p leibie,leibie);strcpy(p-pub_time,pub_time);strcpy(p price,price);strcpy(p-condition,condition);p-next=NULL;if(head=NULL)head=p;elsetail next=p;tail=p;printf(”请输入图书编号:);gets(num);printf(”图书源信息已建立链条!n);return head;
2、/创建已借阅图书源信息链表struct borrow*borrow_creat(struct booklist head)struct booklist p;struct borrow*borrow_head,*p1,*tail;borrow_head=p1=tail=NULL;for(p=head;p!=NULL;p=p-next)p1=(struct borrow*)malloc(sizeof(struct borrow));if(strcmp(p-condition,”借出)=0)printf(”创建借出信息:n);strcpy(p1-borbook_num,p-num);strcpy(
3、p1 borbook_name,p-name);getchar();printf(借阅编号为s 的图书的借阅信息:n”,p num);printf(请输入应归还时间:”);gets(p1 return_time);printf(”请输入学生学号:”);gets(p1 stu_num);printf(”请输入学生姓名:);gets(p1 stu_name);printf(n);p1 next=NULL;if(borrow_head=NULL)borrow_head=p1;elsetail next=p1;tail=p1;printf(”成功创建已借出信息链表!nn”);getchar();ret
4、urn borrow_head;/保存已借阅图书信息到文件 borrowlist。txtvoid borstore(struct borrow*borrow_head)FILE*fp;struct borrow p;if((fp=fopen(borrowlist。txt”,”w”)=NULL)printf(”File open error!n);exit(0);p=borrow_head;while(p!=NULL)fprintf(fp,”16s26s16s16s16sn”,p-borbook_num,p borbook_name,p return_time,p-stu_num,p-stu_n
5、ame);p=p-next;fclose(fp);printf(文件成功保存到 borrowlist.txt 中!n);getchar();/从文件提取信息创建已借阅图书源信息链表struct borrow borload(void)struct borrow p,*tail,*head;FILE*fp;head=p=tail=NULL;if(fp=fopen(borrowlist.txt”,”r)=NULL)printf(”文件 borrowlist。txt 打开失败!n”);getchar();exit(0);while(!feof(fp)p=(struct borrow)malloc(s
6、izeof(struct borrow));fscanf(fp,%16s26s%16s16s%16sn”,p borbook_num,p-borbook_name,p return_time,p-stu_num,p stu_name);if(head=NULL)head=p;elsetail next=p;tail=p;tail-next=NULL;fclose(fp);printf(”已成功从文件 borrowlist.txt 提取信息创建已借阅图书源信息!n);return head;/录入预借图书信息并将信息存入文件 prebor_stulist.txtint pre_creat(str
7、uct booklist*head)struct booklistb;struct prebor_stu*p;char a10,c15;int n,x=1,flag=1;FILE fp;b=head;p=(struct prebor_stu*)malloc(sizeof(struct prebor_stu);printf(进入预借图书!(按回车键继续、)n);getchar();while(x)printf(”请输入要预借阅的图书编号:);gets(a);while(strcmp(b-num,a)!=0)&b next!=NULL)b=b-next;if(strcmp(b num,a)!=0)
8、printf(”没有找到编号为s 的图书!n,a);printf(输入0 结束录入!(输入其他数字继续录入。.)nn);printf(请选择功能:);scanf(”%d,&n);getchar();if(n=0)x=0;getchar();elseprintf(”请输入学号:”);gets(c);strcpy(p-prebook_num,a);strcpy(p-prestu_num,c);if(fp=fopen(prebor_stulist。txt,a+”)=NULL)printf(”File open error!n);exit(0);fprintf(fp,%16s%16sn,p prebo
9、ok_num,p-prestu_num);fclose(fp);flag=2;printf(输入-0 结束录入!(输入其他数字继续录入.。)nn);printf(请选择功能:”);scanf(”%d”,n);getchar();if(n=0)x=0;getchar();return flag;/重新保存修改后的预借阅信息到文件 prebor_stulist.txt(全部覆盖)void prestore(struct prebor_stu*pre_head)struct prebor_stu p;FILE*fp;p=pre_head;if(fp=fopen(prebor_stulist.txt”
10、,”w)=NULL)printf(File open error!n);exit(0);while(p!=NULL)fprintf(fp,16s16sn”,p prebook_num,p prestu_num);p=p next;fclose(fp);printf(”文件成功保存到 prebor_stulist。txt 中!n”);getchar();/从文件 prebor_stulist。txt 创建预借阅图书信息链表struct prebor_stu*prebor_creat(void)struct prebor_stu*p,tail,*head;FILE fp;head=p=tail=N
11、ULL;if(fp=fopen(prebor_stulist。txt,r))=NULL)printf(文件 prebor_stulist。txt 打开失败!n”);getchar();while(!feof(fp))p=(struct prebor_stu*)malloc(sizeof(struct prebor_stu));fscanf(fp,”%16s%16sn”,p prebook_num,p-prestu_num);if(head=NULL)head=p;elsetail next=p;tail=p;tail-next=NULL;fclose(fp);printf(已从文件 prebo
12、r_stulist。txt 成功读取并建立预借阅图书信息!n”);getchar();return head;/*2-保存链表中的图书信息到文件booklist.txt*/void store(struct booklist head)FILE fp;struct booklist p;if(fp=fopen(”booklist。txt,w”))=NULL)printf(”File open error!n);exit(0);p=head;while(p!=NULL)fprintf(fp,”%16s%26s16s%16s16s16s16sn,p-num,p-name,p zuozhe,p le
13、ibie,p-pub_time,p price,p condition);p=p-next;fclose(fp);printf(”文件成功保存到 booklist.txt 中!n”);getchar();/输入单个图书源数据struct booklist*scanf1_(void)struct booklist*p;p=SIZE;printf(请输入图书编号:);gets(p-num);printf(请输入书名:”);gets(p name);printf(”请输入作者:);gets(p zuozhe);printf(”请输入类别:”);gets(p leibie);printf(请输入出版时
14、间:);gets(p-pub_time);printf(”请输入价格:”);gets(p-price);printf(请输入借阅情况:);gets(p condition);return p;/输出单个图书的数据void printf1_(struct booklist*p)printf(编号:);puts(p-num);printf(书名:”);puts(p-name);printf(作者:”);puts(p-zuozhe);printf(”类别:);puts(p leibie);printf(出版时间:);puts(p-pub_time);printf(”价格:”);puts(p pric
15、e);printf(”借阅情况:”);puts(p condition);/输出单个借出图书的部分数据void printfb1_(struct borrow*p)printf(应归还时间:”);puts(p return_time);printf(借阅学生学号:);puts(p stu_num);printf(”借阅学生姓名:”);puts(p stu_name);/输出单个借出图书的数据void printfb_(struct borrow*p)printf(图书编号:);puts(p-borbook_num);printf(”书名:”);puts(p borbook_name);prin
16、tf(”应归还时间:”);puts(p-return_time);printf(”借阅学生学号:);puts(p-stu_num);printf(”借阅学生姓名:);puts(p stu_name);/输出单个被预借出图书的部分数据void printfp1_(struct prebor_stu p)printf(”预借图书的学生学号:”);puts(p prestu_num);/输出单个被预借出图书的数据void printfp_(struct prebor_stu*p)printf(”图书编号:”);puts(p-prebook_num);printf(”预借阅图书的学生学号:”);put
17、s(p-prestu_num);/3-输出链表中的图书信息/void printf_(struct booklist head,struct borrow borrow_head,struct prebor_stu*pre_head)struct booklist p;struct borrow*b;struct prebor_stu pre;int x=1,n;p=head;b=borrow_head;pre=pre_head;while(x=1)system(”cls);printf(*欢迎使用君宁图书信息输出系统*n);printf(”0-退出*n);printf(”*1-输出图书源信息
18、*n”);printf(”2-输出借出图书信息*n”);printf(*3-输出预借借图书信息n);printf(”*祝您使用愉快*n”);printf(”请选择功能:);scanf(d”,&n);getchar();switch(n)case 0:x=0;break;case 1:if(head!=NULL)printf(”图书源信息如下:n”);doprintf1_(p);printf(”nn”);p=p next;while(p!=NULL);getchar();break;case 2:if(borrow_head=NULL)printf(没有借出图书信息(按回车键继续、)!n);ge
19、tchar();break;elseprintf(借出图书信息如下:n”);doprintfb_(b);printf(nn);b=b next;while(b!=NULL);printf(按回车键继续、n);getchar();break;case 3:if(pre_head=NULL)printf(”没有预借图书信息(按回车键继续、)!n);getchar();getchar();break;elseprintf(”预借借图书信息如下:n”);doprintfp_(pre);printf(”nn”);pre=pre next;while(pre!=NULL);printf(”按回车键继续、n
20、);getchar();break;default:printf(”输入错误(按回车键继续、)!n”);getchar();break;/11-从文件读入图书信息struct booklist*load(void)struct booklist*p,tail,*head;FILE*fp;head=p=tail=NULL;if((fp=fopen(booklist。txt”,”r”))=NULL)printf(文件 booklist。txt 打开失败!n);getchar();exit(0);while(!feof(fp)p=SIZE;fscanf(fp,”%16s%26s%16s16s%16s
21、%16s16sn,p num,zuozhe,p-leibie,p-pub_time,p-price,p condition);if(head=NULL)head=p;elsetail next=p;tail=p;tail-next=NULL;fclose(fp);printf(已成功读取文件 booklist.txt,建立源图书信息链表!n”);return head;/4-按编号排序并输出struct booklist num_paixu(struct booklist head)struct booklist p,*p1,*tail;p1=NULL;tail=SIZE;for(p=head
22、;p-next!=NULL;p=p-next)p-name,p-for(p1=pnext;p1!=NULL;p1=p1-next)if(strcmp(p num,p1-num)0)exchange(tail,p1);exchange(p1,p);exchange(p,tail);printf(”图书已按编号排序成功,具体信息如下:n);for(p=head;p!=NULL;p=p next)printf1_(p);printf(n”);return head;/3-按价格排序struct booklist*price_paixu(struct booklist*head)struct book
23、list p,p1,*tail;p1=NULL;tail=SIZE;for(p=head;p-next!=NULL;p=p next)for(p1=p-next;p1!=NULL;p1=p1next)if(strcmp(p-price,p1-price)0)exchange(tail,p1);exchange(p1,p);exchange(p,tail);printf(”图书已按价格排序成功,具体信息如下:n);for(p=head;p!=NULL;p=p next)printf1_(p);printf(n);return head;/6-统计库存数int kcnum(struct bookl
24、ist*head)int i=0;struct booklist*p;for(p=head;p!=NULL;p=p-next)i+;return i;/7-按编号查询信息并输出void chaxun1_(struct booklist*head,struct borrow*borrow_head,struct prebor_stu*pre_head)char a10;struct booklist*p;struct borrow*b;struct prebor_stu p1;int x1,x2;p=head;x1=x2=0;printf(请输入要查询的图书编号:”);gets(a);while
25、(strcmp(p-num,a)!=0)&p-next!=NULL)p=p next;if(strcmp(p-num,a)!=0)printf(”没有找到编号为%s 的图书!n”,a);elsefor(b=borrow_head;b!=NULL;b=b next)if(strcmp(b-borbook_num,a)=0)x1=1;printf(您要查询的书已借出,其具体信息如下:n);printfb1_(b);/输出单个借出图书的数据printf1_(p);for(p1=pre_head;p1!=NULL;p1=p1-next)if(strcmp(p1-prebook_num,a)=0)x2=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 程序代码
限制150内