图书信息管理系统(共19页).doc
《图书信息管理系统(共19页).doc》由会员分享,可在线阅读,更多相关《图书信息管理系统(共19页).doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上本系统结构简单,功能不多,供初学者参考使用!需求分析我所设计的系统主要包括学生登陆模块和管理员登陆模块,并设置了简单的权限处理(只有帐号和密码全都正确时方能进入系统)。但并未尽善尽美,有些地方存在漏洞,主要内容及功能如下:学生登录模块:1.图书查询(包括对书名,作者,分类号(即是编号),出版社,出版时间,价格,总库存量及现库存量的查询)。2.图书排序(可对各个图书信息的项目进行从小到大排序)。3.浏览全部图书(输出全部图书信息)4.借书系统(每人只可借一本书)5.还书系统6.修改密码(查看密码是否修改成功时,需要进入查看个人资料,用新密码进入)7.查看个人资料(图书名
2、与分类号初始为0,意味着尚未借阅任何图书)管理员登陆系统:1.图书查询2.图书排序3.浏览全部图书4.添加图书信息(可逐个添加,也可批量添加)5.删除图书信息(输入时,需要输入图书的分类号)6.修改图书信息(可修改图书名,作者名等相关图书信息)头函数名:#include#include#includevoid welcome();/欢迎用户使用int denglu1(struct student s,int i);/学生登陆int denglu2();/管理员登陆struct book * creatbook();/创建链表,将文件中的图书信息写入链表int inputchoice();/选择
3、菜单int inputchoice1();/学生选择菜单int inputchoice2();/管理员选择菜单void pmenu(struct book * head);/学生主功能选择菜单void menu2(struct book * head);/管理员主功能选择菜单struct book * addbook(struct book * head);/添加图书信息int chashu(struct book *head,char m20);/查找分类号是否存在struct book *insert1(struct book * head,struct book *p);/增加接点voi
4、d printbook(struct book * head);/图书查找int putchoice();/选择查找内容void chaname1(struct book * head);/按书名查找void chaprice(struct book * head);/按价格查找void chacnum(struct book * head);/按分类号查找void chazuozhe(struct book * head);/按作者名查询图书信息void chatime(struct book * head);/按出版时间查找void chapress(struct book * head)
5、;/按出版社查找void sortbook(struct book * head);/排序选择void shuming(struct book * head);/按图书名排void ptime(struct book * head);/按出版时间排序void price1(struct book * head);/按图书价格排void fenleihao(struct book * head);/按图书编号排序void zuo1(struct book * head);/按作者名排序void pre1(struct book * head);/按出版社排序struct book * shanc
6、hubook(struct book * head);/删除图书信息void fprint(struct book * head);/将新链表写入文件中void xiugai(struct book * head);/修改图书信息void printbook1(struct book * head);/浏览全部图书信息int chacun(struct book * head,char m20);/查找库存量是否为0int jige();/求出文件中客户的个数int xcz(struct book * head,char cnum20);/把库内图书的库存量减一int xcz1(struct
7、book * head,char cnum20);/把库内图书的库存量加一void backbook(struct student s,int i,struct book * head);/还书函数void borrowbook(struct student s,int i,struct book * head);/借书函数void xmima(struct student s,int i);/修改密码void xwj(struct student s,int i);/将修改后的数组写入文件void oneself(struct student s,int i);/查看个人信息int jie(
8、char cnum20,int i,struct student s,char mnum20);/查询是否借书int huan(int i,struct student s,char mnum20);/借书查询是否借书图书信息结构体:struct bookchar bookname20;/书名char ename20;/作者char cnum20;/图书分类号即图书编号,区别其余图书唯一特征char pubpress20;/出版社char pubtime20;/出版时间int price;/价格 int zc;/现库存int xc;/总库存struct book *next;/用链表建立图书信
9、息;int denglu2()/管理员登陆系统FILE *fp;struct xinxichar mnum20;/管理员登陆账号char mima20;/管理员登录密码temp;char mnum20,mima20;int m,n,i;for(i=0;ibookname,bookname);strcpy(p-ename,ename);strcpy(p-cnum,cnum);strcpy(p-pubpress,pubpress);strcpy(p-pubtime,pubtime);p-price=price;p-zc=zc;p-xc=xc;if(head=NULL)head=p;elsetail
10、-next=p;tail=p;fscanf(fp,%s%s%s%s%s%d%d%d,bookname,ename,cnum,pubpress,pubtime,&price,&zc,&xc);fclose(fp);tail-next=NULL;return head; struct book * addbook(struct book *head)/添加图书信息FILE *fp;struct book *p;int size=sizeof(struct book);char bookname20;/书名char ename20;/作者char cnum20;/分类号char pubpress20
11、;/出版社char pubtime20;/出版时间int price,zc,xc;/价格,总库存,现库存int n,i;printf(如果您已经添加完毕,请将分类号数输入为0,谢谢合作:n); printf(1.少量添加,所添加内容没有存在文件中n2.批量添加,内容在文件中存放n);printf(请输入编号:);scanf(%d,&i);switch(i)case 1:printf(请输入图书分类号:); scanf(%s,cnum); n=chashu(head,cnum); if(n=1) printf(您输入的分类号已存在,请重新输入!n); return head; while(str
12、cmp(cnum,0)!=0) n=chashu(head,cnum); if(n=1) printf(图书的分类号已存在,请重新输入!); return head; p=(struct book *)malloc(size); strcpy(p-cnum,cnum); printf(请输入图书名:); scanf(%s,bookname); strcpy(p-bookname,bookname); printf(请输入作者名:); scanf(%s,ename); strcpy(p-ename,ename); printf(请输入出版社:); scanf(%s,pubpress); strc
13、py(p-pubpress,pubpress); printf(请输入出版时间:); scanf(%s,pubtime); strcpy(p-pubtime,pubtime); printf(请输入价格:); scanf(%d,&price); p-price=price; printf(请输入总库存量:); scanf(%d,&zc); p-zc=zc; printf(请输入现库存量:); scanf(%d,&xc); p-xc=xc; head=insert1(head,p,cnum); printf(请输入图书分类号:); scanf(%s,cnum);break;case 2:if(f
14、p=fopen(book1.txt,r)=NULL)printf(File do not open!);exit(0);while(!feof(fp)p=(struct book *)malloc(size);fscanf(fp,%s,bookname);strcpy(p-bookname,bookname);fscanf(fp,%s,ename);strcpy(p-ename,ename);fscanf(fp,%s,cnum);strcpy(p-cnum,cnum);n=chashu(head,cnum);if(n=1)printf(图书的分类号已存在,请重新输入!);return head
15、;fscanf(fp,%s%s%d%d%d,pubpress,pubtime,&price,&zc,&xc);strcpy(p-pubpress,pubpress);strcpy(p-pubtime,pubtime);p-price=price;p-zc=zc;p-xc=xc;head=insert1(head,p,cnum);break;default:printf(输入错误!n);break;return head;int chashu(struct book * head,char m20)/查找图书是否存在int flag=0;struct book *p=NULL;if(head=N
16、ULL)return -1;/可添加该图书elsep=head;while(p!=NULL)if(strcmp(p-cnum,m)=0)flag=1;p=p-next;if(flag=1)return 1;/不可添加该图书else return -1;struct book *insert1(struct book *head,struct book *ptr,char cnum20)/增加接点struct book *p,*p1,*p2;p2=head;p=ptr;if (head=NULL)head=p1;p1-next=NULL;elsewhile(strcmp(p-cnum,p2-cn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 信息管理 系统 19
限制150内