图书管理系统源代码(原创).doc
- 文档编号:131059
- 上传时间:2022-10-04
- 格式:DOC
- 页数:28
- 大小:153KB
图书管理系统源代码(原创).doc
《图书管理系统源代码(原创).doc》由会员分享,可在线阅读,更多相关《图书管理系统源代码(原创).doc(28页珍藏版)》请在冰豆网上搜索。
#include#include#includestructbookintnum;charbname50;charwname20;charpress50;charsort50;inttime;floatprice;structbook*next;structbook*creatbook();/创建链表structbook*addbook(structbook*head);/添加图书intyanzheng(structbook*head,intm);/验证新添加的图书编码是否已存在voiddeletebook(structbook*head);/删除图书voidfprint(structbook*head);/将链表写入文件structbook*load();/从文件中读取信息并建成链表voidprint_book(structbook*head);/将链表信息输出voidchaxun(structbook*head);/查询图书信息voidnum_chaxun(structbook*head);/按图书编号查询图书voidwname_chaxun(structbook*head);/按作者名查询图书voidsort_chaxun(structbook*head);/按类别查询图书voidtime_chaxun(structbook*head);/按出版时间查询图书voidbname_chaxun(structbook*head);/按图书名查询图书voidxiugai(structbook*head);/修改图书信息voidpaixu(structbook*head);/对图书进行排序voidnum_paixu(structbook*head);/按图书编号排序voidtime_paixu(structbook*head);/按图书出版时间排序voidprice_paixu(structbook*head);/按图书价格排序voidbname_paixu(structbook*head);/按图书名排序voidwname_paixu(structbook*head);/按作者名排序intmain()intchoice,n,x,y=1,c,c1=1;chara,d,b10,b110=1;structbook*head=NULL;while(y)system(cls);printf(nnnnn);printf(-n);printf(-|-|-图书信息管理系统-|-|-n);printf(-|-|-登陆界面-|-|-n);printf(-n);printf(n);printf(=1-进入系统=n);printf(=0-退出系统=n);printf(-n);printf(请输入选择:
);scanf(%d,&n);printf(n);getchar();switch(n)case0:
y=0;break;case1:
printf(请输入您的用户名(输入1即可):
);gets(b);printf(n);printf(请输入您的密码(输入1即可):
);scanf(%d,&c);printf(n);if(strcmp(b,b1)!
=0|c!
=c1)printf(验证失败,请重新输入!
n);scanf(%c,&d);getchar();system(cls);elseprintf(验证通过!
请按Enter键进入!
n);scanf(%c,&d);getchar();x=1;while(x)system(cls);system(color1F);printf(-nn);printf(-|-|-图书信息管理系统-|-|-nn);printf(-|-|-操作界面-|-|-nn);printf(-nn);printf(-n);printf(-|-系统菜单选项-|-n);printf(-n);printf(-|1-添加图书删除图书-2|-nn);printf(-|3-图书列表图书排序-4|-nn);printf(-|5-查询图书修改图书-6|-nn);printf(-|7-录入数据退出系统-0|-nn);printf(-n);printf(-nn);printf(请输入所选择的序号:
);scanf(%d,&choice);getchar();system(cls);switch(choice)case0:
x=0;break;case1:
head=load();if(head=NULL)printf(文件为空,请先录入数据!
n);getchar();break;elsehead=addbook(head);printf(添加成功!
n);printf(是否将新信息保存到文件?
(y/n)n);scanf(%c,&a);getchar();switch(a)casen:
break;casey:
fprint(head);printf(保存成功!
n);getchar();break;break;case2:
head=load();if(head=NULL)printf(文件为空,请先录入数据!
n);getchar();break;elsedeletebook(head);getchar();break;break;case3:
head=load();if(head=NULL)printf(文件为空,请先录入数据!
n);getchar();break;elseprint_book(head);getchar();break;case4:
head=load();if(head=NULL)printf(文件为空,请先录入数据!
n);getchar();break;elsepaixu(head);getchar();break;case5:
head=load();if(head=NULL)printf(文件为空,请先录入数据!
n);getchar();break;elsechaxun(head);getchar();break;case6:
head=load();if(head=NULL)printf(文件为空,请先录入数据!
n);getchar();break;elsexiugai(head);getchar();break;break;case7:
printf(注意:
输入图书编码为0时结束!
n);head=creatbook();printf(是否将输入的信息保存到文件以覆盖文件中已存在的信息?
(y/n)n);getchar();scanf(%c,&a);getchar();switch(a)case0:
break;casey:
fprint(head);printf(保存成功!
n);getchar();break;break;default:
printf(输入有误,请重新输入!
n);getchar();break;break;default:
printf(输入有误,请重新输入!
n);getchar();break;/录入数据并形成链表structbook*creatbook()structbook*head,*tail,*p;intnum,time,n;charbname50,wname20,press50,sort50;floatprice;intsize=sizeof(structbook);head=tail=NULL;printf(请输入图书编号:
);scanf(%d,&num);printf(请输入图书名:
);scanf(%s,bname);getchar();printf(请输入作者名:
);scanf(%s,wname);getchar();printf(请输入出版社:
);scanf(%s,press);getchar();printf(请输入类别:
);scanf(%s,sort);getchar();printf(请输入出版时间:
);scanf(%d,&time);getchar();printf(请输入价格:
);scanf(%f,&price);getchar();while
(1)p=(structbook*)malloc(size);p-num=num;strcpy(p-bname,bname);strcpy(p-wname,wname);strcpy(p-press,press);strcpy(p-sort,sort);p-time=time;p-price=price;p-next=NULL;if(head=NULL)head=p;elsetail-next=p;tail=p;doprintf(请输入图书编号:
);scanf(%d,&num);n=yanzheng(head,num);if(n=0)break;elseprintf(您输入的编号已存在,请重新输入!
n);while
(1);if(num=0)break;elseprintf(请输入图书名:
);scanf(%s,bname);getchar();printf(请输入作者名:
);scanf(%s,wname);getchar();printf(请输入出版社:
);scanf(%s,press);getchar();printf(请输入类别:
);scanf(%s,sort);getchar();printf(请输入出版时间:
);scanf(%d,&time);getchar();printf(请输入价格:
);scanf(%f,&price);getchar();returnhead;/插入结点,并且插入后仍按一定顺序structbook*addbook(structbook*head)structbook*ptr,*p1,*p2,*p;charbname50,wname20,press50,sort50;intsize=sizeof(structbook);intnum,time,n=1;floatprice;doprintf(请输入图书编号:
);scanf(%d,&num);n=yanzheng(head,num);if(n=0)break;elseprintf(您输入的编号已存在,请重新输入!
n);while
(1);printf(请输入图书名:
);scanf(%s,bname);getchar();printf(请输入作者名:
);scanf(%s,wname);getchar();printf(请输入出版社:
);scanf(%s,press);getchar();printf(请输入类别:
);scanf(%s,sort);getchar();printf(请输入出版时间:
);scanf(%d,&time);getchar();printf(请输入价格:
);scanf(%f,&price);getchar();p=(structbook*)malloc(size);p-num=num;strcpy(p-bname,bname);strcpy(p-wname,wname);strcpy(p-press,press);strcpy(p-sort,sort);p-time=time;p-price=price;p2=head;ptr=p;while(ptr-nump2-num)&(p2-next!
=NULL)p1=p2;p2=p2-next;if(ptr-numnum)if(head=p2)head=ptr;elsep1-next=ptr;p-next=p2;elsep2-next=ptr;p-next=NULL;returnhead;/验证添加的图书编号是否已存在intyanzheng(structbook*head,intm)structbook*p;p=head;while(p!
=N
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 源代码 原创