收藏 分销(赏)

图书管管理系统源代码.doc

上传人:胜**** 文档编号:1937556 上传时间:2024-05-11 格式:DOC 页数:56 大小:42.68KB
下载 相关 举报
图书管管理系统源代码.doc_第1页
第1页 / 共56页
图书管管理系统源代码.doc_第2页
第2页 / 共56页
图书管管理系统源代码.doc_第3页
第3页 / 共56页
图书管管理系统源代码.doc_第4页
第4页 / 共56页
图书管管理系统源代码.doc_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、精品文档就在这里-各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有-图书管管理系统源代码经过三周小学期教学,终于把任务完成了,先把成果贴在这,希望同志们提出不足之处.也希望同志们遇见这个问题后可以借鉴以下.一定要先建立一个密码文件.程序源代码:#include#include#include#include#includestruct readers_listchar readernum20; /*读者学号*/char readername20; /*读者姓名*/ char readerage10; /*读者年龄*/char sex10; /*读者性别*/char rea

2、der120; /*读者职业*/char reader220;/*读者单位*/char readertel20;/*读者电话*/struct readers_list * next; /*链表的指针域*/;struct books_listchar author20; /*作者名*/char bookname20; /*书名*/ char publisher20; /*出版单位*/char pbtime15; /*出版时间*/char booknum20; /*图书编号*/float price; /*价格*/char classfy20; /*分类号*/int num;/*图书数量*/str

3、uct books_list * next; /*链表的指针域*/;struct borrow_lend_listchar readernum20; /*读者学号*/char booknum20; /*图书编号*/ char borrowtime15; /*借书时间*/char backtime115; /*应归还时间*/char backtime215; /*实际归还时间*/char other20;/*备注*/struct borrow_lend_list * next; /*链表的指针域*/;struct readers_list *head1;struct books_list *he

4、ad2;struct borrow_lend_list *head3;void save1(struct readers_list *tp);/*保存数据至读者文件*/void save2(struct books_list *tp);/*保存数据至图书文件*/void save3(struct borrow_lend_list *tp);void borrow_book( );void borrow_reader( );struct readers_list *CreateDoc1( ); /*新建读者链表*/struct books_list *CreateDoc2( ); /*新建图书链

5、表*/struct borrow_lend_list *CreateDoc3( );void InsertDoc1( ); /*读者插入*/void InsertDoc2( ); /*图书插入*/void InsertDoc3( );struct readers_list * head1DeleteDoc1(struct readers_list * head1);/*读者信息删除*/struct books_list * head2DeleteDoc2(struct books_list * head2 );/*图书信息删除*/struct borrow_lend_list *DeleteD

6、oc3(struct borrow_lend_list * head3);void search_reader(char read20); /*读者查询*/void search_book(char book20); /*图书查询*/void info_change1(struct readers_list * head1);/*读者修改*/void info_change2(struct books_list * head2);/*图书修改*/void info_change3(struct borrow_lend_list * head3);/*图书修改*/int password( );

7、void changepassword( );/*/*保存读者数据至文件*/*void save1(struct readers_list *tp)struct readers_list *p;FILE *fp;p=tp;fp=fopen(readerdata.txt,wb+); /*以写方式新建并打开 data.txt文件*/while(p != NULL)fwrite(p,sizeof(struct readers_list),1,fp);p=p-next;fclose(fp);printf(n 已将读者数据保存到 readerdata.txt 文件n);/*保存图书数据至文件*/void

8、 save2(struct books_list *tp)struct books_list *p;FILE *fp;p=tp;fp=fopen(bookdata.txt,wb+); /*以写方式新建并打开 data.txt文件*/while(p != NULL)fwrite(p,sizeof(struct books_list),1,fp);p=p-next;fclose(fp);printf(n已将图书数据保存到 bookdata.txt 文件n);/*保存借/还书数据至文件*/void save3(struct borrow_lend_list *tp)struct borrow_len

9、d_list *p;FILE *fp;p=tp;fp=fopen(borrow_lenddata.txt,wb+); /*以写方式新建并打开 data.txt文件*/while(p != NULL)fwrite(p,sizeof(struct borrow_lend_list),1,fp);p=p-next; fclose(fp);printf(n 已将借/换书数据保存到 borrow_lenddata.txt 文件n);/*/*/*录入读者信息*/struct readers_list *CreateDoc1( )/*定义结构体指针变量 s指向开辟的新结点首地址 p为中间变量*/struct

10、 readers_list *s, *p ,*head;char flag=Y; /*定义flag,方便用户选择重复输入*/int u=0;p=NULL; head=p;while(flag=Y|flag=y)s=(struct readers_list *)malloc(sizeof(struct readers_list);if(s=NULL) printf(malloc error.n); break; printf(n 请输入读者学号:);fflush(stdin);scanf(%s,s-readernum);printf(n 请输入读者姓名:);fflush(stdin);scanf

11、(%s,s-readername);printf(n 请输入读者年龄:);fflush(stdin);scanf(%s,s-readerage);printf(n 请输入读者性别:);fflush(stdin);scanf(%s,s-sex);printf(n 请输入读者职业:);fflush(stdin);scanf(%s,s-reader1);printf(n 请输入读者单位:);fflush(stdin);scanf(%s,s-reader2);printf(n 请输入读者电话:);fflush(stdin);scanf(%s,s-readertel);printf(n);s-next=

12、NULL;if(head= NULL) head=p=s;else p-next=s;p=s;printf( 添加成功!);printf(n 继续添加?(Y/N):);fflush(stdin);scanf(%c,&flag);printf(n);if(flag=N|flag=n) break;else if(flag=Y|flag=y) continue;else while(1)u=0; printf(请重新选择,是否继续添加?(Y/N):); fflush(stdin); scanf(%c,&flag); printf(n); if(flag=N|flag=n) break; else

13、if(flag=Y|flag=y) u=1; break; else continue; if(u=1) u=0;continue;else break;save1(head); /*保存数据至文件*/return(head);/*录入图书信息*/struct books_list *CreateDoc2( )/*定义结构体指针变量 s指向开辟的新结点首地址 p为中间变量*/struct books_list *s, *p ,*head;char flag=Y; /*定义flag,方便用户选择重复输入*/int u=0;p=NULL; head=p;while(flag=Y|flag=y)s=

14、(struct books_list *)malloc(sizeof(struct books_list);if(s=NULL) printf(malloc error.n); break; printf(n 请输入图书书号:);fflush(stdin);scanf(%s,s-booknum);printf(n 请输入图书书名:);fflush(stdin);scanf(%s,s-bookname);printf(n 请输入图书作者名:);fflush(stdin);scanf(%s,s-author);printf(n 请输入图书出版社:);fflush(stdin);scanf(%s,s

15、-publisher);printf(n 请输入图书出版时间:);fflush(stdin);scanf(%s,s-pbtime);printf(n 请输入图书分类号:);fflush(stdin);scanf(%s,s-classfy);printf(n 请输入图书价格:);fflush(stdin);scanf(%f,&s-price);printf(n请输入图书数量:);fflush(stdin);scanf(%d,&s-num);printf(n);s-next=NULL;if(head= NULL) head=p=s;else p-next=s;p=s;printf( 添加成功!);

16、printf(n 继续添加?(Y/N):);fflush(stdin);scanf(%c,&flag);printf(n);if(flag=N|flag=n) break;else if(flag=Y|flag=y) continue;else while(1) u=0; printf(请重新选择,是否继续添加?(Y/N):); fflush(stdin); scanf(%c,&flag); printf(n); if(flag=N|flag=n) break; else if(flag=Y|flag=y) u=1; break; else continue; if(u=1) u=0;cont

17、inue;else break;save2(head); /*保存数据至文件*/return(head);/*录入借书信息*/struct borrow_lend_list *CreateDoc31( )/*定义结构体指针变量 s指向开辟的新结点首地址 p为中间变量*/struct borrow_lend_list *s, *p ,*head;struct books_list *p2;char flag=Y; /*定义flag,方便用户选择重复输入*/int u=0;p=NULL; head=p;while(flag=Y|flag=y)s=(struct borrow_lend_list *

18、)malloc(sizeof(struct borrow_lend_list);if(s=NULL) printf(malloc error.n); break; printf(n 请输入读者学号:);fflush(stdin);scanf(%s,s-readernum);printf(n 请输入图书编号:);fflush(stdin);scanf(%s,s-booknum);printf(n 请输入借书时间:);fflush(stdin);scanf(%s,s-borrowtime);printf(n 请输入应归还时间:);fflush(stdin);scanf(%s,s-backtime1

19、);strcpy(s-backtime2 ,-);strcpy(s-other ,-);printf(n 请输入备注:);fflush(stdin);gets(s-other);printf(n);s-next=NULL;if(head= NULL) head=p=s;else p-next=s;p=s;p2=head2;while(p2!=NULL)if(strcmp(p2-booknum,s-booknum)=0) p2-num-=1; break;else p2=p2-next;save2(head2);printf( 添加成功!);printf(n 继续添加?(Y/N):);fflus

20、h(stdin);scanf(%c,&flag);printf(n);if(flag=N|flag=n) break;else if(flag=Y|flag=y) continue;else while(1) u=0; printf(请重新选择,是否继续添加?(Y/N):); fflush(stdin); scanf(%c,&flag); printf(n); if(flag=N|flag=n) break; else if(flag=Y|flag=y) u=1; break; else continue; if(u=1) u=0;continue;else break;save3(head)

21、; /*保存数据至文件*/return(head);/*录入还书信息*/struct borrow_lend_list *CreateDoc32( )/*定义结构体指针变量 s指向开辟的新结点首地址 p为中间变量*/struct borrow_lend_list *s, *p ;struct books_list *p2;char flag=Y; /*定义flag,方便用户选择重复输入*/int u=0;while(flag=Y|flag=y) s=(struct borrow_lend_list *)malloc(sizeof(struct borrow_lend_list); printf

22、(n 请输入读者学号:); fflush(stdin); scanf(%s,s-readernum); printf(n 请输入图书编号:); fflush(stdin); scanf(%s,s-booknum); printf(n 请输入实际归还时间:); fflush(stdin); gets(s-backtime2); printf(n 请输入备注:); fflush(stdin); gets(s-other); printf(n); p2=head2; while(p2!=NULL) if(strcmp(p2-booknum,s-booknum)=0) p2-num+=1; break

23、; else p2=p2-next; save2(head2); p=head3; while(p!=NULL) if(strcmp(p-booknum,s-booknum)=0&strcmp(p-booknum,s-booknum)=0) strcpy(p-backtime2,s-backtime2); strcpy(p-other,s-other); break; else p=p-next; save3(head3); printf( 添加成功!); printf(n 继续添加?(Y/N):); fflush(stdin); scanf(%c,&flag); printf(n); if(

24、flag=N|flag=n) break; else if(flag=Y|flag=y) continue; else while(1) u=0; printf(请重新选择,是否继续添加?(Y/N):); fflush(stdin); scanf(%c,&flag); printf(n); if(flag=N|flag=n) break; else if(flag=Y|flag=y) u=1; break; else continue; if(u=1) u=0; continue; else break;save3(head3); /*保存数据至文件*/return(head3);/*/*/*

25、插入读者信息*/void InsertDoc1( )struct readers_list *s, *p, *u,*p1;char flag=Y;int w,h,t=0,k=0; while(flag=Y|flag=y)h=0;s=(struct readers_list *)malloc(sizeof(struct readers_list);printf(n 请输入读者学号:);fflush(stdin);scanf(%s,s-readernum);p1=head1;while(p1!=NULL)if(strcmp(p1-readernum,s-readernum)=0) h=1; pri

26、ntf(n 已有本读者信息!); if(t!=0) save1(head1); /*保存数据至文件*/ break;p1=p1-next;if(h=1) break;printf(n 请输入读者姓名:);fflush(stdin);scanf(%s,s-readername);printf(n 请输入读者年龄:);fflush(stdin);scanf(%s,s-readerage);printf(n 请输入读者性别:);fflush(stdin);scanf(%s,s-sex);printf(n 请输入读者职业:);fflush(stdin);scanf(%s,s-reader1);prin

27、tf(n 请输入读者单位:);fflush(stdin);scanf(%s,s-reader2);printf(n 请输入读者电话:);fflush(stdin);scanf(%s,s-readertel);printf(n);s-next=NULL;p=head1;w=0;while(p-next != NULL)u=p-next;if(strcmp(s-readernum,p-readernum)0&strcmp(s-readernum,u-readernum)next=s; s-next=u; break;else p=p-next;if(w=0&strcmp(s-readernum,p

28、-readernum)0)p-next=s;else if(w=0&strcmp(s-readernum,head1-readernum)next=head1; head1=s;t+;printf( 插入成功!);printf(n 继续添加?(Y/N):);fflush(stdin);scanf(%c,&flag);printf(n);if(flag=N|flag=n)save1(head1); /*保存数据至文件*/ break;else if(flag=Y|flag=y) continue;else while(1) k=0; printf(请重新选择,是否继续添加?(Y/N):); ff

29、lush(stdin); scanf(%c,&flag); printf(n); if(flag=N|flag=n) break; else if(flag=Y|flag=y) k=1; break; else continue; if(k=1) k=0;continue;else break;save1(head1);return;/*插入图书信息*/void InsertDoc2( )struct books_list *s, *p, *u,*p2;char flag=Y; int w,h,t=0,k=0; while(flag=Y|flag=y)h=0;s=(struct books_l

30、ist *)malloc(sizeof(struct books_list);printf(n 请输入图书书号:);fflush(stdin);scanf(%s,s-booknum);p2=head2;while(p2 !=NULL)if(strcmp(p2-booknum,s-booknum)=0) h=1; printf(n 已有本图书的信息!); if(t!=0) save2(head2); /*保存数据至文件*/ break;p2=p2-next;if(h=1) break;printf(n 请输入图书书名:);fflush(stdin);scanf(%s,s-bookname);pr

31、intf(n 请输入图书作者名:);fflush(stdin);scanf(%s,s-author);printf(n 请输入图书出版社:);fflush(stdin);scanf(%s,s-publisher);printf(n 请输入图书出版时间:);fflush(stdin);scanf(%s,s-pbtime);printf(n 请输入图书分类号:);fflush(stdin);scanf(%s,s-classfy);printf(n 请输入图书价格:);fflush(stdin);scanf(%f,&s-price);printf(n请输入图书数量:);fflush(stdin);s

32、canf(%d,&s-num);printf(n);s-next=NULL;p=head2;w=0;while(p-next != NULL)u=p-next;if(strcmp(s-booknum,p-booknum)0&strcmp(s-booknum,u-booknum)next=s; s-next=u; break;else p=p-next;if(w=0&strcmp(s-booknum,p-booknum)0)p-next=s;else if(w=0&strcmp(s-booknum,head2-booknum)next=head2; head2=s;t+;printf( 插入成功

33、!);printf(n 继续添加?(Y/N):);fflush(stdin);scanf(%c,&flag);printf(n);if(flag=N|flag=n)save2(head2); /*保存数据至文件*/ break;else if(flag=Y|flag=y) continue;else while(1) k=0; printf(请重新选择,是否继续添加?(Y/N):); fflush(stdin); scanf(%c,&flag); printf(n); if(flag=N|flag=n) break; else if(flag=Y|flag=y) k=1; break; els

34、e continue; if(k=1) k=0;continue;else break;save2(head2);return;/*插入借/还书信息*/void InsertDoc3( )struct borrow_lend_list *s, *p, *u;char flag=Y; int w,h,k=0; while(flag=Y|flag=y)h=0;s=(struct borrow_lend_list *)malloc(sizeof(struct borrow_lend_list);printf(n 请输入读者学号:);fflush(stdin);scanf(%s,s-readernum

35、);printf(n 请输入图书编号:);fflush(stdin);scanf(%s,s-booknum);printf(n 请输入借书时间:);fflush(stdin);scanf(%s,s-borrowtime);printf(n 请输入应归还时间:);fflush(stdin);scanf(%s,s-backtime1);strcpy(s-backtime2,-);printf(n 请输入实际归还时间:);fflush(stdin);gets(s-backtime2);strcpy(s-other,-);printf(n 请输入备注:);fflush(stdin);gets(s-other);printf(n);s-next=NULL;p=head3;w=0;while(p-next != NULL)u=p-next;if(strcmp(s-borrowtime,p-borrowtime)0&strcmp(s-borrowtime,u-borrowtime)next=s; s-next=u; break;else p=p-next;if(w=0&strcmp(s-borrowtime,p-borrowtime)0)p-ne

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服