图书管理系统程序代码

上传人:GCG1****010 文档编号:60997501 上传时间:2022-03-10 格式:DOC 页数:36 大小:119.50KB
收藏 版权申诉 举报 下载
图书管理系统程序代码_第1页
第1页 / 共36页
图书管理系统程序代码_第2页
第2页 / 共36页
图书管理系统程序代码_第3页
第3页 / 共36页
资源描述:

《图书管理系统程序代码》由会员分享,可在线阅读,更多相关《图书管理系统程序代码(36页珍藏版)》请在装配图网上搜索。

1、include stdio.h#include string.h#include define SIZE (struct booklist *)malloc(sizeof(struct booklist)/建立已借阅图书信息结构体struct borrow char borbook_num10;char borbook_name22;char return_time15;char stu_num15;char stu_name15;struct borrow *next;/建立预借图书信息结构体struct prebor_stu char prebook_num10;char prestu_n

2、um15;struct prebor_stu next;;/建立图书结构体struct booklistchar num10;char name22;char zuozhe15;char leibie10;char pub_time10; char price10; char condition10; struct booklist next;struct booklist *create(void); /创建图书信息链表*/struct borrow borrow_creat(struct booklist *head); /创建已借阅图书信息链表int pre_creat(struct b

3、ooklist *head); /学生登录系统预借图书并将信息存入文件prebor_stulist.txtstruct prebor_stu prebor_creat(void); /创建预借阅图书信息链表void printf1_(struct booklist ); /输出单个基本图书的数据void store(struct booklist *head); /保存链表中的图书信息到文件booklist。txt*/void printfb1_(struct borrow ); /输出单个借出图书的部分数据void printfb_(struct borrow *p); /输出单个借出图书的

4、数据void printfp1_(struct prebor_stu *); /输出单个被预借出图书的部分数据void printfp_(struct prebor_stu *); /输出单个被预借出图书的数据void printf_(struct booklist *,struct borrow *,struct prebor_stu *); /*2-输出链表中的图书信息/struct booklist *load(void); /5-从文件读入图书信息struct booklist num_paixu(struct booklist *); /4-按编号排序struct booklist

5、price_paixu(struct booklist ); /3-按价格顺序排序int kcnum(struct booklist head); /6-统计库存数void chaxun1_(struct booklist *,struct borrow *,struct prebor_stu *); /7-查询图书的编号图书的信息,并输出void chaxun2_(struct booklist *,struct prebor_stu ,struct borrow *);/7-按作者查询信息并输出void chaxun3_(struct booklist ,struct prebor_stu

6、 *,struct borrow *); /7-查询某类别图书信息并自动输出void chaxun4_(struct borrow *,prebor_stu *,struct booklist ); /7-按学号查询借阅信息struct booklist shanchu(struct booklist ,struct borrow ,struct prebor_stu *); /9-删除数据struct borrow *shanchu2_(struct borrow ,struct borrow *); /删除一个 struct borrow 结构体的数据struct prebor_stu s

7、hanchu3_(struct prebor_stu *,struct prebor_stu ); /删除一个 struct prebor_stu 结构体的数据void xiugai(struct booklist ,struct borrow ,struct prebor_stu *); /10修改数据void borstore(struct borrow borrow_head); /保存已借阅图书信息到文件 borrowlist.txt/重新保存修改后的预借阅信息到文件 prebor_stulist。txt (全部覆盖)void prestore(struct prebor_stu pr

8、e_head);struct borrow *borload(void); /从文件提取信息创建已借阅图书源信息链表struct booklist *charu(struct booklist head,struct borrow *borrow_head); /8-将图书的数据到顺序排放的链表中,且插入后也是顺序排放的struct booklist scanf1_(void); / 输入单个图书源数据void exchange(struct booklist *,struct booklist ) ;/交换两个结构体内的内容struct borrow *tianjia1_(struct bo

9、rrow *borrow_head,struct booklist p); /添加一个 struct borrow 结构体的数据int main(void)int n, n1, x , k = 0, flag, flag1, x1;char ch;struct booklist *head = NULL; /图书信息链表头指针struct borrow *borrow_head = NULL ; /已借阅图书信息链表头指针struct prebor_stu *pre_head = NULL ; /预借图书信息链表头指针flag1 = 0; x = x1 = 1;while(x) system(

10、”cls); printf(*n);printf(” 欢迎使用君宁图书管理系统 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;else tail next = p;tail = p;printf(请输入图书编号:);gets(num);printf(图书源信息已

11、建立链条!n);return head;/创建已借阅图书源信息链表 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) print

12、f(创建借出信息:n);strcpy(p1 borbook_num ,p num);strcpy(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

13、; else tail next = p1; tail = p1;printf(”成功创建已借出信息链表!nn”);getchar();return 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(

14、fp,16s26s%16s%16s%16sn”,p borbook_num, p borbook_name, p - return_time,p stu_num, p - stu_name); 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(”borrowlis

15、t。txt”,r”)) = NULL)printf(文件 borrowlist.txt 打开失败!n);getchar();exit(0);while(!feof(fp))p = (struct borrow )malloc(sizeof(struct borrow));fscanf(fp,”%16s26s%16s16s16sn”,p borbook_num, p - borbook_name, p - return_time,p - stu_num, p stu_name);if(head = NULL)head = p;else tail next = p;tail = p; tail -

16、 next = NULL;fclose(fp);printf(”已成功从文件 borrowlist.txt 提取信息创建已借阅图书源信息!n”);return head; /录入预借图书信息并将信息存入文件 prebor_stulist.txtint pre_creat(struct booklist *head)struct booklist *b;struct prebor_stu *p;char a10, c15;int n, x = 1, flag = 1;FILE fp;b = head;p = (struct prebor_stu *)malloc(sizeof(struct pr

17、ebor_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)printf(”没有找到编号为%s的图书!n”, a);printf(”输入-0 结束录入!(输入其他数字继续录入.。.)nn”);printf(请选择功能:”); scanf(%d, &n);getchar(); if(n = 0)x = 0;get

18、char();else printf(请输入学号:”); 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 prebook_num, p prestu_num);fclose(fp);flag = 2;printf(”输入-0 结束录入!(输入其他数字继续录入.。)nn”);printf(”请选择功能:); scanf(”

19、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”,”w”) = NULL)printf(File open error! n);exit(0);while(p != NULL)fprintf(fp,16s%16sn,

20、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 = NULL;if((fp = fopen(”prebor_stulist.txt,”r”) = NULL)printf(”文件

21、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;else tail next = p;tail = p; tail - next = NULL;fclose(fp);printf(已从文件 prebor_stulist。txt 成功读取并建立预借阅图书信息!n);getchar(

22、);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%26s16s16s%16s16s%16sn,p - num, p - name, p zuozhe, p - leibie,p pub_time, p pri

23、ce, 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(”请输入出版

24、时间:”);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(”

25、价格:”); puts(p price);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(书名:

26、);puts(p borbook_name);printf(应归还时间:);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

27、_num);printf(”预借阅图书的学生学号:”); puts(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); pri

28、ntf(”*欢迎使用君宁图书信息输出系统*n); printf(* 0-退出 n); printf(”* 1输出图书源信息 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”); do printf1_(p); printf(”nn); p = p next; w

29、hile(p != NULL); getchar(); break; case 2: if(borrow_head = NULL) printf(”没有借出图书信息(按回车键继续、)!n); getchar(); break; else printf(借出图书信息如下:n”); do printfb_(b); printf(nn”); b = b next; while(b != NULL); printf(”按回车键继续、n”); getchar(); break; case 3: if(pre_head = NULL) printf(”没有预借图书信息(按回车键继续、)!n); getch

30、ar(); getchar(); break; else printf(”预借借图书信息如下:n); do printfp_(pre); printf(”nn); pre = pre next; while(pre != NULL); printf(按回车键继续、n”); 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)

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!