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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

图书馆管理系统c语言Word文件下载.docx

1、 if(n9) t=1;getchar(); /*对选择的数字作判断*/ else t=0; while(t=1);/*实现选择功能*/ switch(n) case 1:enter();break; /*输入功能*/ case 2:add(); /*追加功能*/case 3:browse(); /*浏览功能*/ case 4:search(); /*查找功能*/ case 5:modify(); /*修改功能*/ case 6:del(); /*删除功能*/case 7:TSXX_out(); /*图书借出*/case 8:TSXX_back(); /*归还功能*/case 9:exit(0

2、); /*退出*/ /*以上完成了主函数计主菜单的构成*/2输入模块 数据结构 根据题目中对数据结构的要求每一本图书包含的信息 利用一个结构体来存放。其中结构体需包含 :字符变量:图书名称、作者、借书人姓名实型变量:图书编号、单价、学号整型变量:存在状态,、性别、库存定义结构体如下struct TSXXchar tsn30; /*图书名称*/ int bh15; /*图书编号*/ float pri; /*单价*/char zzn10; /*作者*/ int zt; /*存在状态*/int kc /*库存*/char jsn10; /*借书人姓名*/int sex; /*性别*/int num

3、15; /*学号*/ tsN; /*tsN中每个数组元素对应一本书的全部信息*/*以上完成了对于结构体的定义*/注意 本程序tsN中的个数,采取宏定义的方式,可以随时在源程序宏定义中更改,本程序在此宏定义#define N 10000。流程图 Yvoid enter()int i;for(i=0;in;=k; input(i); if(fp=fopen(, a)=NULL)printf(文件无法打开n);for(ii+) fclose(fp);4.查找模块需求分析该模块的功能是根据输入的图书名称查找相应的记录找到以后,可继续进行删除和修改功能 Y N N Search()int i,k,n,t

4、1=1,t2,t3,t4;struct TSXX t;n=load(); do k=-1;printf(nn输入你所要查询的图书名称: );scanf(%s,;print_show()i+;) if(strcmp,tsi.tsn)=0) k=i; printf_one(); if(k=-1) printf(对不起,您所查找的图书不存在 ); printf(继续吗?nt 1).继续查找 2)不,返回 请选择 bb);t1);while(k=-1&wi=1);t4=0;t3=0;if(k!=-1)printf(nn您的下一步操作?nn 1)查找下一个 2 修改图书信息 3) 删除图书信息 4)回到

5、主菜单 请选择 bb); scanf(%d ,&t2);switch(t2)case 2:w3=modify_data(k,n);print(nn你确定吗?nt 1)确定删除 2不,返回 请选择 bb);t4);if(t4=1) tsk.num=0;if(t3=1|t4=1)save(n);printf(nn信息修改成功);printf(n您的下一步操作?nt 1)查找下一个 2)返回 请选择 bb);scanf(%d,& while(t3=1);mneu();5、修改模块 该模块用于显示所有图书信息,由于记录较多,故而采取分屏显示。显示完所有纪录后,用户需输入图书编号进而查找图书信息 Y N

6、 void modify() /*修改模块*/sruct TSXX t;FILE*fp;int i ,n,k,t0=1,t1,t2=0;/*让用户查看全部记录以便确认要修改的记录*/printf_show();/*调用数据结构显示函数*/if(i!=0)&(i%10=0) /*用于分屏显示*/ printf(“nn请记录需要修改的图书编号。任意键继续”); getch(); puts(“nn”);printf_one(i); /*调用显示一个记录的函数*/printf(“nn请输入您需要修改的图书编号 。 NO.:”);scanf(“%f”,& ); /*输入需要修改的图书编号*/i+) /*

7、查找要修改的记录*/ if(strcmp,=0) /*找到许需修改的记录*/ t=tsi; /*将tsi中原有需修改的记录备份给t,以便用户反悔时恢复*/if(k=-1) printf(“nn信息不存在!再试一次”);while(k=-1); /*当k=-1时表示没找到*/print_show();printf_one(k);t1=modify_data(k,n);/*修改学生记录并且返回保存控制值t1,t1=1则表示用户已确认修改*/if(t1=1) /*t1=1时则表示用户确定此次修改*/ printf(“n成功修改,是否继续修改?nnt 1). 是2)返回并保存t bb);scanf(“

8、%d”,&t0);t2=1; /*来控制保存,使w2=1是标记已有过的记录*/elesto=0;if(t2=1) tsk=s; /*到此处由于用户没有确认这次修改。使t0=0,为了终止循环,tsk=s; 则把备份的s恢复给tsk,这样使得在此之前修改过的成功保存而本次不修改*/if(t0!=1&t2=1) /*t0不等于1则表示正常返回,t2=1则表示在此之前有过修改,这时就保存用户已确认的修改并返回*/save(n); /*t2不等于1表示在此之前没有修改过,而又反悔这次修改,则不保存返回*/while(t0=1);menu();6 删除模块需求模块显示完所有纪录后,用户需输入图书编号进而查

9、找图书信息,、Y void del() /*删除模块*/*让用户查看全部记录以便确认要删除的记录*/ printf(“nn请记录需要删除的图书编号。printf(“nn请输入您需要删除的图书编号 。 /*输入需要删除的图书编号*/i+) /*查找要删除的记录*/ /*找到许需删除的记录*/ /*将tsi中原有需删除的记录备份给t,以便用户反悔时恢复*/ /*调用数据结构显示函数*/t1=del_data(k,n);/*删除学生记录并且返回保存控制值t1,t1=1则表示用户已确认删除*/if(t1=1) /*t1=1时则表示用户确定此次删除*/ printf(“n成功删除,是否继续删除?/*到此

10、处由于用户没有确认这次删除。 则把备份的s恢复给tsk,这样使得在此之前删除过的成功保存而本次不删除*/*t0不等于1则表示正常返回,t2=1则表示在此之前有过删除,这时就保存用户已确认的删除并返回*/ /*t2不等于1表示在此之前没有删除过,而又反悔这次删除,则不保存返回*/7、借出模块 该模块功能应体现为void book_out(void) int n,s,i,d;if(n=search_TSXX()!=-1&tsn.kc0) printf(请输入学号:s); printf(请输入可借天数:d); for(i=0;10; if(tsn.numi=0) tsn.numi=s; tsn.da

11、ysi=d; break; tsn.kc-; if(n!tsn.kc=0) printf(此书已经全部借出.n return_confirm();/*上面是借书的函数,首先调用找书函数*/8、归还模块void TSXX_back(void) int n,s,i; page_titie(归还图书 if(n=search_TSXX()!tsn.kctsn.totai)借阅者图书证列表:n if (tsn.numi!=0) %d - %d天n,tsn.numi,tsn.daysi);请输入借书证序号: if(tsn.numi=s) tsn.numi=0; tsn.daysi=0; break; ts

12、n.kc+;tsn.kc=tsn.totai) 全部入藏.n9.公共函数1)保存函数save(int n)说明 /* 形参n控制保存的个数。当tsk.bh=0表示删除,不保存该记录。*/void save(int n)FILE*fp;int i;if(fp=fopen(“”,“wb”)=NULL)printf(“n不能打开文件n”);return NULL; if(tsi.bh!=0) if(fwrite(&tsi,sizeof(struct TSXX),1,fp)!=1) printf(“文件无法写n”);fclose(fp);2)加载函数 程序 /*该函数用于加载所有记录,并且可以返回所有

13、记录的个数。 void load()int I;if(fp=fopen(“”,“r”)=NULL) printf(“文件无法打开”);!feof(fp); fread(&tsi,sizeof(struct TSXX),1,fp);return(i-1);3).输入函数a.*输入整个记录的输入函数* void input(int i)printf(“图书名称:”);scanf(“%s”,tsi.tsn);printf(“图书编号:no_input1(i,i);printf(“图书单价:scanf(“%f”&tsi.pri);printf(“作者:scanf(“%s”,tsi.zzn);print

14、f(“库存:tsi.kc)state();printf(“借书人姓名:scanf(“%s”,tsi.jsn);printf(“性别(1代表男,2代表女):tsi.sex);printf(“学号:no_input2(i,i);b./*号码输入函数no_input1()*/void no_input(int i,int n) int i,j,t1; do t1=0;scanf(“%d”, tsi.bh);for(j=0;tsi.bhj!=0;j+;if(tsi.bhj9)puts(“输入错误!只接受数字输入,请重新输入”);t1=1;if(t1! for(k=0;kk+) if(k!=i&strc

15、mp(tsk.bh, tsi.bh)=0) puts(“记录已存在,请重新输入”); t1=1;while(t1=1);c./*号码输入函数no_input2()*/void no_input2(int t,int p)int i,j,k,t1,n;, tsi.num); for(j=0;tsi.numj!=0j+) if(tsi.bhj9输入错误!只接受数字输入,请重新输入 if(t1!strcmp(tsk.num, tsi.num)=0)记录已存在,请重新输入 t1=1; while(t1=1);4./*状态函数*/void state(int i)if(tsi.kc!1else prin

16、tf(0/*显示一个记录函数*/void printf_one(int i)书名:%sn,tsi.tsn);作者:,tsi.zzn);存数:%d of ,tsi.kc);存在状态:%dn,tsi.zt);/*修改整条记录的函数*/modify_data(int i,int n)int c,t1;puts(nmodify by=nn 1).编号. 2). 图书名称 3). 单价 4).作者 5).状态 6).库存. 7).全部信息 8).返回请选择?: bbc); if(c7|c8|c1); switch(c)no_input1(i,n);图书名称scanf(%s case 3:单价%f作者状态

17、tsi.zt);库存tsi.kc); case 7:;2&c7) printf_one(i);n确定修改嘛?nnt1).确定 2).不,重新修改 3).返回并保存 bb while(t1=2); return(t1);源代码:#include struct BOOK int id,usr10,total,store,days10,zt; char name31,author21; books100;void page_title(char *menu_item) printf(*欢迎使用08WL型图书馆管理系统*nn- %s -nn,menu_item);void return_confirm(void)n按任意键返回nvoid state(int n)if(booksn.total! if(booksn.total=0)int search_book(void) int n,i;请输入图书序号:i); for(n=0;n100;n+) if(booksn.id=i),booksn.name)

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

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