2022年图书管理系统程序代码宣贯 .pdf
《2022年图书管理系统程序代码宣贯 .pdf》由会员分享,可在线阅读,更多相关《2022年图书管理系统程序代码宣贯 .pdf(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、#include #include #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_nu
2、m15; struct prebor_stu *next; ; / 建立图书结构体struct booklist char 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 pr
3、e_creat(struct booklist *head); /学生登录系统预借图书并将信息存入文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 43 页 - - - - - - - - - prebor_stulist.txt struct prebor_stu *prebor_creat(void); /创建预借阅图书信息链表void printf1_(struct booklist *); /输出单个基本图书的数据void store(struct bookli
4、st *head); /*保 存 链 表 中 的 图 书 信 息 到 文 件booklist.txt*/ void printfb1_(struct borrow *); /输出单个借出图书的部分数据void printfb_(struct borrow *p); /输出单个借出图书的数据void printfp1_(struct prebor_stu *); /输出单个被预借出图书的部分数据void printfp_(struct prebor_stu *); /输出单个被预借出图书的数据void printf_(struct booklist *,struct borrow *,struc
5、t prebor_stu *); /*2-输出链表中的图书信息*/ struct booklist *load(void); /5-从文件读入图书信息struct booklist *num_paixu(struct booklist *); /4-按编号排序struct booklist *price_paixu(struct booklist *); /3-按价格顺序排序int kcnum(struct booklist *head); /6-统计库存数void chaxun1_(struct booklist *,struct borrow *,struct prebor_stu *);
6、 /7-查询图书的编号图书的信息, 并输出void chaxun2_(struct booklist *,struct prebor_stu *,struct borrow *);/7-按作者查询信息并输出void chaxun3_(struct booklist *,struct prebor_stu *,struct borrow *); /7-查询某类别图书信息并自动输出void chaxun4_(struct borrow *,prebor_stu *,struct booklist *); /7-按学号查询借阅信息struct booklist *shanchu(struct boo
7、klist *,struct borrow *,struct prebor_stu *); /9-删除数据struct borrow *shanchu2_(struct borrow *,struct borrow *); /删除一个 struct 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 43 页 - - - - - - - - - borrow 结构体的数据struct prebor_stu *shanchu3_(struct prebor_stu *,stru
8、ct 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 *pre_head); struct
9、 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 borrow *borro
10、w_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) 名师资料总结 - - -精
11、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 43 页 - - - - - - - - - system(cls); printf(*n); printf(* 欢迎使用君宁图书管理系统 num, num); strcpy(p - name, name); strcpy(p - zuozhe, zuozhe); strcpy(p - leibie, leibie); strcpy(p - pub_time, pub_time); strcpy(p - price, price); strcpy(p
12、 - condition, condition); p - next = NULL; if(head = NULL) head = p; else tail - next = p; tail = p; printf(请输入图书编号:); gets(num); printf(图书源信息已建立链条!n); return head; / 创建已借阅图书源信息链表struct borrow *borrow_creat(struct booklist *head) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
13、- - - - 第 13 页,共 43 页 - - - - - - - - - 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
14、,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; else tail - nex
15、t = p1; tail = p1; printf(成功创建已借出信息链表!nn); getchar(); return borrow_head; / 保存已借阅图书信息到文件 borrowlist.txt void borstore(struct borrow *borrow_head) FILE *fp; struct borrow *p; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 43 页 - - - - - - - - - if(fp = fopen(bo
16、rrowlist.txt,w) = NULL) printf(File open error! n); exit(0); p = borrow_head; while(p != NULL) fprintf(fp,%16s%26s%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(); / 从文件提取信息创建已借阅图书源信
17、息链表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(sizeof(struct borrow); fscanf(fp,%16s%26s%16s%16s%16sn,p - borb
18、ook_num, p - borbook_name, p - return_time, p - stu_num, p - stu_name); if(head = NULL) head = p; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 43 页 - - - - - - - - - else tail - next = p; tail = p; tail - next = NULL; fclose(fp); printf(已成功从文件 borrowlist.txt
19、 提取信息创建已借阅图书源信息!n); return head; / 录入预借图书信息并将信息存入文件 prebor_stulist.txt int 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 prebor_stu); printf(进入预借图书!( 按回车键继续、 、 、)n);
20、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); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 43
21、 页 - - - - - - - - - printf(请选择功能 :); scanf(%d, &n); getchar(); if(n = 0) x = 0; getchar(); 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
22、- prestu_num); fclose(fp); flag = 2; printf(输入 -0 结束录入 !( 输入其他数字继续录入.)nn); printf(请选择功能 :); scanf(%d, &n); getchar(); if(n = 0) x = 0; getchar(); return flag; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 43 页 - - - - - - - - - / 重新保存修改后的预借阅信息到文件 prebor_stuli
23、st.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,p - prebook_num, p - prestu_num); p = p - next; fclose(fp); printf(文件成功保存到 preb
24、or_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(文件 prebor_stulist.txt 打开失败 !n); getchar(); while(!feof(fp) 名师资料总结 - - -精品资
25、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 43 页 - - - - - - - - - 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); pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年图书管理系统程序代码宣贯 2022 图书 管理 系统 程序代码
限制150内