ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:122.66KB ,
资源ID:8326300      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8326300.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书信息管理系统最新版.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图书信息管理系统最新版.docx

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);/增加接点void

4、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 * shanchu

6、book(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 bo

7、ok * 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(ch

8、ar cnum20,int i,struct student s,char mnum20);/查询是否借书int huan(int i,struct student s,char mnum20);/借书查询是否借书图书信息结构体:struct book char bookname20;/书名 char ename20;/作者 char cnum20;/图书分类号即图书编号,区别其余图书唯一特征 char pubpress20;/出版社 char pubtime20;/出版时间 int price;/价格 int zc;/现库存 int xc;/总库存 struct book *next;/用链

9、表建立图书信息;int denglu2()/管理员登陆系统 FILE *fp; struct xinxi char 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(hea

10、d=NULL) head=p; else tail-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

11、;/作者 char cnum20;/分类号 char pubpress20;/出版社 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) print

12、f(您输入的分类号已存在,请重新输入!n); return head; while(strcmp(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,enam

13、e); printf(请输入出版社:); scanf(%s,pubpress); strcpy(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

14、(请输入图书分类号:); scanf(%s,cnum); break; case 2: if(fp=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=ch

15、ashu(head,cnum); if(n=1) printf(图书的分类号已存在,请重新输入!); return head; 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(str

16、uct book * head,char m20)/查找图书是否存在 int flag=0; struct book *p=NULL; if(head=NULL) return -1;/可添加该图书 else p=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 *

17、p,*p1,*p2; p2=head; p=ptr; if (head=NULL) head=p1; p1-next=NULL; else while(strcmp(p-cnum,p2-cnum)0)&(p2-next!= NULL) p1=p2; p2=p2-next; if(strcmp(p-cnum,p2-cnum)next=p; p-next=p2; else p2-next=p; p-next=NULL; return head;int putchoice()/选择查找内容 int mychoice; printf(nttt1.按书名查找nttt2.按价格查找nttt3.按分类号查找

18、nttt4.按作者查找nttt5.按时间查找nttt6.按出版社查找nttt0.退出nn); printf(请输入查询编号:); scanf(%d,&mychoice); return mychoice;void chaname1(struct book * head)/按书名查找 struct book *p; char shuname20; int flag=0; p=head; printf(请输入要查找的书名:); scanf(%s,shuname); printf(n); printf(查找结果如下n); printf(图书名t作者t分类号t出版社t出版时间t价格t总库存t现库存n)

19、; while(p!=NULL) if(strcmp(shuname,p-bookname)=0) printf(%st%st%st%st%stt%dt%dt%dt,p-bookname,p-ename,p-cnum,p-pubpress,p-pubtime,p-price,p-zc,p-xc); printf(n); flag=1; p=p-next; if(flag=0) printf(未找到你要找的书,请核实后再输!n);void sortbook(struct book * head)/排序选择 int i; printf(nttt1-按图书名排序nttt2-按出版时间排序nttt3-

20、按图书价格排序nttt4-按图书分类号排序nttt5-按作者名排序nttt6-按出版社排序nttt0-取消排序操作nn); printf(请输入您选择的选择:); scanf(%d,&i); switch(i) case 0: break; case 1: shuming(head); /按图书名排序 break; case 2: ptime(head); /按出版时间排序 break; case 3: price1(head); /按出版价格排序 break; case 4: fenleihao(head); /按图书分类号排序 break; case 5: zuo1(head); /按图书

21、作者排序 break; case 6: pre1(head); /按出版社排序 default: printf(您的输入有误!n); break; 其中,只给出按价格排序,其余省去。void price1(struct book * head)/按图书价格排序 struct book *a100,*p,*p1,*temp; int i,k,index,n=0; char ch; p1=head; for(p=head;p;p=p-next) n+; for(i=0;inext; for(k=0;kn-1;k+) index=k; for(i=k+1;ipriceprice) index=i;

22、temp=aindex; aindex=ak; ak=temp; printf(排序成功!n); printf(是否显示排序结果?(y/n)n); scanf(%s,&ch); switch(ch) case n: break; case y: printf(图书名t作者t分类号t出版社t出版时间t价格t总库存t现库存n); for(i=0;ibookname,ai-ename,ai-cnum,ai-pubpress,ai-pubtime,ai-price,ai.zc.ai.xc); break; default: printf(您的输入有误!n); break; 删除信息模块:struct

23、book * shanchubook(struct book * head)/删除图书信息 char num20; struct book *ptr1,*ptr2,*p; printf(请输入图书分类号:); scanf(%s,num); p=head; while(p!=NULL) if(strcmp(p-cnum,num)=0) break; p=p-next; if(p=NULL) printf(没有找到该号的图书!n); else while(head!=NULL&head-next=NULL) if(strcmp(head-cnum,num)=0) ptr2=head; head=head-next; free(ptr2); if(head=NULL) return NULL; ptr1=head; ptr2=head-next; while(ptr2!=NULL) if(strcmp(ptr2-cnum,num)=0) ptr1-next=ptr2-next; free(ptr2); else ptr1=ptr2; ptr2=ptr1-next; return head;修改图书信息模块:v

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1