付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include#include#include#includeFILE*fp,*fps,*fpj;/fp打开图书信息文件,fps打开学生信息文件,fpj打开借阅信息文件inti,xuan;/i作为标记,xuan用来菜单选择typedefstructbookcharname10;/图书名字charnum10;/图书编号charwriter10;/图书作者intdate;/图书出版日期charpress10;/图书出版社floatprice;/图书价格charleibie10;/图书类别intkucun;/图书原始库存量intjiechu;/图书借阅量bo;typedefstructstuden
2、tcharname10;/学生名字charnum10;/学生学号intjie;/学生借阅图书数量st;typedefstructjieyuecharsnum10;/已借阅学生学号charbnum10;/已借阅图书编号ji;voidsavemima();/保存密码voidloadmima();/读取密码charmima20=123456”;/设置初始密码voidchangemima();/修改密码voidinput();/输入图书信息voidscan();/浏览图书信息voidcha1();/查阅图书信息voidxiugai();/修改图书信息voidlend();/借阅图书voidhuan()
3、;/归还图书voidlendcha();/借阅查询intmainmenu();/主菜单intmenu2();/学生菜单intmenu1();/管理员菜单voidsort();/排序菜单voiddel2();/删除全部图书信息voiddel1();/按编号删除图书信息voiddel();/删除菜单intmenu3();/游客菜单voidcha2();/查询图书信息/保存密码voidsavemima()(FILE*fp;fp=fopen(c:lib.txt,w);fputs(mima,fp);fclose(fp);/读取密码voidloadmima()(FILE*fp;if(fp=fopen(c:
4、lib.txt,r+)=NULL)return;elsefgets(mima,7,fp);/因为还有一位字符串结束符fclose(fp);/修改密码voidchangemima()(chartmima110,tmima210;loadmima();/读取密码到全局变量mimaprintf(ntt请输入原密码n);getchar();gets(tmima1);if(strcmp(mima,tmima1)!=0)(printf(ntt密码验证错误!ntt按任意键返回n);getch();return;else(printf(ntt请输入6位新密码n);gets(tmima2);printf(ntt
5、请再次输入新密码n);gets(tmimal);if(strcmp(tmima1,tmima2)=0)(strcpy(mima,tmima1);savemima();printf(ntt密码修改成功ntt按任意键返回n);getch();/从键盘吸收任意键,不显示在屏幕,无缓冲流return;else(printf(ntt两次密码输入不一致ntt修改失败nttgetch();return;查询图书voidcha2()(charhao10;intbian=1;/记录图书序号boboo;fseek(fp,0,0);printf(n请选择查询类型:nntt1-按图书书名查询n询nnntt3-返回主菜
6、单n);scanf(%d,&xuan);if(xuan=1)(printf(请输入图书名(最多十个字符):);scanf(%s,hao);printf(序号书名编号作者价格出版社类别原始库存借出nwhile(!feof(fp)(if(strcmp(hao,)=0)按任意键返回n);nntt2-按图书编号查printf(%-5d%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4dn,bian,,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu)
7、;fread(&boo,sizeof(bo),1,fp);bian+;elseif(xuan=2)printf(请输入图书编号(最多十个字符):);scanf(%s,hao);printf(序号书名编号作者价格出版社类别原始库存借出n);while(!feof(fp)if(strcmp(hao,boo.num)=0)printf(%-5d%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4dn,bian,,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);f
8、read(&boo,sizeof(bo),1,fp);elseprintf(ntt按任意键返回!n);system(pause);return;printf(n查询图书完毕!);system(pause);/图书信息输入voidinput()boboo,booq;printf(请输入图书名(最多十个字符):);scanf(%s,);fseek(fp,0,0);doi=1;printf(请输入图书编号(最多十个字符):);scanf(%s,boo.num);fread(&booq,sizeof(bo),1,fp);while(!feof(fp)/验证是否存在图书编号重复现象if(
9、strcmp(booq.num,boo.num)=0)(printf(n该编号已存在t#重新输入nn);i=0;/标记为图书编号重复break;)fread(&booq,sizeof(bo),1,fp);)rewind(fp);while(i=0);printf(请输入图书作者(最多十个字符):);scanf(%s,boo.writer);printf(请输入图书出版日期(例如2001年5月3日出版则输入20010503):);scanf(%d,&boo.date);printf(请输入图书价格:);scanf(%f,&boo.price);printf(请输入图书出版社(最多十个字符):);
10、scanf(%s,boo.press);printf(请输入图书类别(最多十个字符):);scanf(%s,boo.leibie);printf(请输入图书入库数:);scanf(%d,&boo.kucun);boo.jiechu=0;/标记借出图书量为0getchar();fseek(fp,0,2);/将文件指针移到末尾fwrite(&boo,sizeof(bo),1,fp);printf(n录入成功!回到主菜单);system(pause);调用dos命令,相当于按任意键返回浏览图书voidscan()(boboo;fseek(fp,0,0);/移动文件指针到开端printf(书名编号作者
11、价格出版社类别原始库存借出n);fread(&boo,sizeof(bo),1,fp);while(feof(fp)=0)(printf(%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4dn,,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);fread(&boo,sizeof(bo),1,fp);printf(n浏览图书完毕!回到主菜单);system(pause);)查询图书voidcha1()charhao10;intbian=1;/记录图书序号b
12、oboo;fseek(fp,0,0);printf(n请选择查询类型:nntt1-按图书书名查询nnntt2-按图书编号查询nnntt3-借阅信息查看nnntt4-返回主菜单n);scanf(%d,&xuan);if(xuan=1)printf(请输入图书名(最多十个字符):);scanf(%s,hao);printf(序号书名编号作者价格出版社类别原始库存借出n);while(!feof(fp)if(strcmp(hao,)=0)printf(%-5d%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4dn,bian,,boo.nu
13、m,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);fread(&boo,sizeof(bo),1,fp);bian+;)elseif(xuan=2)printf(请输入图书编号(最多十个字符):);scanf(%s,hao);printf(序号书名编号作者价格出版社类别原始库存借出n);while(!feof(fp)if(strcmp(hao,boo.num)=0)printf(%-5d%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4dn,bian,,boo.num
14、,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);fread(&boo,sizeof(bo),1,fp);)elseif(xuan=3)lendcha();/调用函数借阅查询else(printf(ntt按任意键返回!n);system(pause);return;)printf(n查询图书完毕!);system(pause);)修改图书voidxiugai()(FILE*p;jijie;intj=0;charnum10;boboo,booq;intxu;charor;charchakan10;printf(ntt
15、是否调用图书浏览功能来查看你要修改的图书编号(Y/N)n);getchar();/吸收换行符scanf(%c,&or);if(or=Y|or=y)(scan();/调用浏览功能rewind(fp);)printf(n请输入你要修改的图书的编号:);scanf(%s,chakan);fseek(fpj,0,0);fread(&jie,sizeof(ji),1,fpj);while(!feof(fpj)/判断是否该书已经借阅(if(strcmp(jie.bnum,chakan)=0)/已借阅图书的编号与所要修改编号相同(printf(n这本书已有人借阅,不能操作!n正在退出);system(pau
16、se);return;)fread(&jie,sizeof(ji),1,fpj);)fread(&boo,sizeof(bo),1,fp);p=fopen(c:books1.txt,wb+);while(!feof(fp)if(strcmp(boo.num,chakan)=0)6-类别printf(nn1-书名2-编号3-作者4-价格5-出版社7-库存nn);printf(请选择要修改的项目:);scanf(%d,&xu);if(xu=1)printf(你要把s改为:,);scanf(%s,);)elseif(xu=2)doi=1;printf(你要把s改为:,
17、boo.num);scanf(%s,num);rewind(fp);fread(&booq,sizeof(bo),1,fp);while(!feof(fp)if(strcmp(booq.num,num)=0)printf(n该编号已存在t#重新输入nn);i=0;break;)fread(&booq,sizeof(bo),1,fp);)while(i=0);rewind(fp);for(i=0;i0)printf(n该书库存剩余量为%d,请输入您要借阅该书的数量:,boo.kucun-boo.jiechu);while(scanf(%d,&shu),shu(boo.kucun-boo.jiec
18、hu)printf(nt该书库存不足,借书失败,请重新输入你要接该书的数量:n);if(boo.kucun=boo.jiechu)如果图书原始库存量=图书借出量printf(n该册图书已全部借出!正在退出n);system(pause);return;printf(n请输入你的学号:);scanf(%s,xnum);j=0;fseek(fpj,0,0);fread(&jie,sizeof(ji),1,fpj);while(!feof(fpj)if(strcmp(jie.bnum,num)=0)&(strcmp(jie.snum,xnum)=0)/已借阅学生学号与输入学号相同,借阅系统中学生学号
19、存在j=1;/作为标记,判断该书是否已经被该学生借阅break;fread(&jie,sizeof(ji),1,fpj);if(j=1)printf(n你已经借阅过该书正在退出n);system(pause);return;fseek(fps,0,0);/移动借阅文件指针到开端fread(&stu,sizeof(st),1,fps);j=0;while(!feof(fps)/在学生结构中先判断是否存在该学生信息if(strcmp(xnum,stu.num)=0)(j=1;/标记为存在该学生信息break;)fread(&stu,sizeof(st),1,fps);)if(j=0)(printf
20、(n你是第一次借阅图书,为了方便管理请输入你的姓名:);scanf(%s,);strcpy(stu.num,xnum);stu.jie=1;/标记该学生已经借阅此书fseek(fps,0,2);/移动文件指针到末尾fwrite(&stu,sizeof(st),1,fps);/存入学生文件)else(if(stu.jie=10)/控制借书数量(printf(n你已经借了10本书,不能再借n);system(pause);return;)p=fopen(c:jie.txt,wb+);rewind(fps);fread(&stu,sizeof(st),1,fps);while(!fe
21、of(fps)/改变学生文件中学生借阅数量(if(strcmp(xnum,stu.num)=0)/在学生结构中找到该学生信息stu.jie+=shu;修改学生结构中该学生的借阅数量fwrite(&stu,sizeof(st),1,p);fread(&stu,sizeof(st),1,fps);)fclose(p);fclose(fps);p=fopen(c:jie.txt,rb+);fps=fopen(c:student.txt,wb+);fread(&stu,sizeof(st),1,p);while(!feof(p)/将学生信息写入临时文件(fwrite(&stu,sizeof(st),1
22、,fps);fread(&stu,sizeof(st),1,p);)strcpy(jie.bnum,num);/借阅结构中将已借阅图书编号存入strcpy(jie.snum,xnum);/借阅结构中将已经借阅图书的学生的学号存入fseek(fpj,0,2);/移动文件指针到末尾fwrite(&jie,sizeof(ji),1,fpj);/写入文件末尾rewind(fp);p=fopen(c:jie.txt,wb+);/先存入临时文件fread(&boo,sizeof(bo),1,fp);while(!feof(fp)if(strcmp(num,boo.num)=0)boo.jiechu+=sh
23、u;/标记该书借出量fwrite(&boo,sizeof(bo),1,p);/写入临时文件fread(&boo,sizeof(bo),1,fp);)fclose(p);p=fopen(c:jie.txt,rb+);fclose(fp);fp=fopen(c:book.txt,wb+);fread(&boo,sizeof(bo),1,p);while(!feof(p)fwrite(&boo,sizeof(bo),1,fp);/写入目标文件fread(&boo,sizeof(bo),1,p);)printf(n借阅成功!回到主菜单);system(pause);)归还图书voidhuan()FILE*p;boboo;jijie;ststu;intj=0,shu;charsnum10,bnum10;/snum保存学生学号,bnum保存归还图书编号i=0;printf(n请输入你的学号:);scanf(%s,snum);printf(n你借阅了以下图书n);fseek(fpj,0,0);fseek(fp,0,0);fread(&jie,sizeof(ji),1,fpj);printf(书名编号作者价格出版社类别原始库存借出n);while(!feof(fpj)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年幼儿园教研活动学期总结
- 2026年医疗设备售后服务满意度调查
- 2026年压电能量收集材料微电源设计
- 2026年五粮液文化营销与品牌价值提升
- 2026年财务管培生职业发展路径
- 2026年实验室应急预案演练脚本
- 非人力资源人力资源管理方案
- 小学挫折教育2025年说课稿
- 公司合规风控建设方案
- AI学习平台方案
- 光伏自投合同范本
- 设计师分享大会
- 2025年铁路职业道德素养考试题库
- 基于人工智能的糖尿病处方审核系统
- 2026年外国人在中国永久居留资格申请服务合同
- 齐商银行笔试题库及答案
- DB31T+1545-2025卫生健康数据分类分级要求
- 婺安安全生产培训课件
- 《环境设计制图》全套教学课件
- 安全生产培训学校申请书范文
- 广东省汕头市龙湖实验中学2026届中考押题语文预测卷含解析
评论
0/150
提交评论