




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档#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_num15;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 booklist *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); /输出单个借出图书的数据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 *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 *,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 *shanchu3_(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 *pre_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 borrow *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(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 - 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) 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(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 - 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(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();/从文件提取信息创建已借阅图书源信息链表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 - 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 - 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 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)printf(没有找到编号为%s的图书!n, a);printf(输入-0 结束录入!(输入其他数字继续录入.)nn);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 - 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,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(文件成功保存到 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(文件 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();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%26s%16s%16s%16s%16s%16sn,p - num, p - name, p - zuozhe, p - leibie,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(请输入出版时间:);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 - 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(书名:);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_num);printf(预借阅图书的学生学号:); puts(p - prestu_num);/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 历史期末专题复习提纲2024-2025学年统编版七年级历史下册
- 交通设备制造业数字化转型中的智能制造与产品生命周期管理实践报告
- 社区心理健康服务在2025年的发展现状与推广策略报告
- 智能信用体系在共享出行平台的应用与推广报告
- 国产医疗器械2025年市场竞争力:技术创新与品牌影响力分析报告
- 装备制造业2025年自主研发与产业链协同创新研究报告
- 生态修复工程2025年生物多样性保护与生态修复项目生态修复生态系统恢复路径研究报告
- 供应链金融如何优化中小企业供应链金融资源配置与风险管理报告
- 2025年养老地产市场需求变化与适老化产品设计趋势分析报告
- 2025年BIM技术在建筑项目全过程管理中的信息化管理与智能决策报告
- 【课件】新高三启动主题班会:启航高三逐梦未来
- 2024年攀枝花市仁和区向招考社区工作者真题
- BIM在公路工程中的三维可视化应用-洞察阐释
- 长鑫存储在线试题及答案
- 公司贵重金属管理制度
- 离散数学考试题及答案
- 安徽省安庆望江县联考2025年七年级英语第二学期期中质量检测模拟试题含答案
- 森林草原防火 无人机巡查技术规范 编制说明
- 2025年江苏省苏州吴中、吴江、相城区初三英语一模试题及答案
- 智能化汽车中的专利战略布局-洞察阐释
- 不寐的中医护理常规
评论
0/150
提交评论