图书管理系统程序代码_第1页
图书管理系统程序代码_第2页
图书管理系统程序代码_第3页
图书管理系统程序代码_第4页
图书管理系统程序代码_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-作者xxxx-日期xxxx图书管理系统程序代码【精品文档】#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_nu

2、m10;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); /创建已借阅图书信息链表in

3、t pre_creat(struct booklist *head); /学生登录系统预借图书并将信息存入文件struct 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 b

5、ooklist *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 *,stru

6、ct 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 结构体的数据s

7、truct 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); /保存已借阅图书信息到文件/重新保存修改后的预借阅信息到文件 prebor_stulist.txt (全部覆盖)void prestore(struct preb

8、or_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 *tianji

9、a1_(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;wh

10、ile(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;

11、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 b

12、orrow);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

13、- next = NULL; if(borrow_head = NULL) borrow_head = p1; else tail - next = p1; tail = p1;printf(成功创建已借出信息链表!nn);getchar();return borrow_head;/保存已借阅图书信息到文件void 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 =

14、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;he

15、ad = 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

16、)head = p;else tail - next = p;tail = p; tail - next = NULL;fclose(fp);printf(已成功从文件 borrowlist.txt 提取信息创建已借阅图书源信息!n);return head; /录入预借图书信息并将信息存入文件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_st

17、u *)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);getcha

18、r(); 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)

19、;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 != NUL

20、L)fprintf(fp,%16s%16sn,p - prebook_num, p - prestu_num); p = p - next;fclose(fp);printf(文件成功保存到 prebor_stulist.txt 中!n); getchar();/从文件创建预借阅图书信息链表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)print

21、f(文件 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 成功读取并建立预借阅图书信息!

22、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

23、- 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 - lei

24、bie); 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 - pu

25、b_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_

26、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_n

温馨提示

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

评论

0/150

提交评论