1、 char snum10;/已借阅学生学号 char bnum10;/已借阅图书编号ji;void savemima();/保存密码void loadmima();/读取密码char mima20=123456;/设置初始密码void changemima();/修改密码void input();/输入图书信息void scan();/浏览图书信息void cha1();/查阅图书信息void xiugai();/修改图书信息void lend();/借阅图书void huan();/归还图书void lendcha();/借阅查询int mainmenu();/主菜单int menu2();
2、/学生菜单int menu1();/管理员菜单void sort();/排序菜单void del2();/删除全部图书信息void del1();/按编号删除图书信息void del();/删除菜单int menu3();/游客菜单void cha2();/查询图书信息void savemima() FILE *fp; fp=fopen(c:lib.txt,w); fputs(mima,fp); fclose(fp);void loadmima() if(fp=fopen(r+)=NULL) return; else fgets(mima,7,fp);/因为还有一位字符串结束符void cha
3、ngemima() char tmima110,tmima210; loadmima();/读取密码到全局变量mima printf(ntt请输入原密码n getchar(); gets(tmima1); if(strcmp(mima,tmima1)!=0) printf(ntt密码验证错误!ntt按任意键返回n getch(); ntt请输入6位新密码n gets(tmima2);ntt请再次输入新密码n gets(tmima1); if(strcmp(tmima1,tmima2)=0) strcpy(mima,tmima1); savemima(); printf(ntt密码修改成功ntt
4、按任意键返回n getch();/从键盘吸收任意键,不显示在屏幕,无缓冲流 return; elsentt两次密码输入不一致ntt修改失败ntt按任意键返回n/查询图书void cha2() char hao10; int bian=1;/记录图书序号 bo boo; fseek(fp,0,0);n请选择查询类型:nntt1-按图书书名查询n nntt2-按图书编号查询n nntt3-返回主菜单n scanf(%d,&xuan); if(xuan=1) 请输入图书名(最多十个字符): scanf(%s,hao);序号 书名 编号 作者 价格 出版社 类别 原始库存 借出n while(!feo
5、f(fp) if(strcmp(hao,boo.name)=0) %-5d%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4dn,bian,boo.name,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu); fread(&boo,sizeof(bo),1,fp); bian+; else if(xuan=2)请输入图书编号(最多十个字符): while(! if(strcmp(hao,boo.num)=0) fread(&ntt按任意键返回!n system(pause
6、n查询图书完毕! /图书信息输入void input() bo boo,booq;,boo.name); do i=1;,boo.num);booq,sizeof(bo),1,fp);feof(fp)/验证是否存在图书编号重复现象 if(strcmp(booq.num,boo.num)=0) printf(n该编号已存在请重新输入nn i=0;/标记为图书编号重复 break; rewind(fp); while(i=0);请输入图书作者(最多十个字符):,boo.writer);请输入图书出版日期(例如2001年5月3日出版则输入20010503):boo.date);请输入图书价格:%fb
7、oo.price);请输入图书出版社(最多十个字符):,boo.press);请输入图书类别(最多十个字符):,boo.leibie);请输入图书入库数:boo.kucun); boo.jiechu=0;/标记借出图书量为0 fseek(fp,0,2);/将文件指针移到末尾 fwrite(&n录入成功!回到主菜单 /调用dos命令,相当于按任意键返回/浏览图书void scan()/移动文件指针到开端书名 编号 作者 价格 出版社 类别 原始库存 借出n fread(& while(feof(fp)=0)%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4dn,bo
8、o.name,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);n浏览图书完毕!void cha1()nntt1-按图书书名查询n nntt2-按图书编号查询n nntt3-借阅信息查看n nntt4-返回主菜单n else if(xuan=3) lendcha();/调用函数借阅查询/修改图书void xiugai() FILE *p; ji jie; int j=0; int xu; char or; char chakan10;ntt是否调用图书浏览功能来查看你要修改的图书编号(Y/N)n/吸收
9、换行符 %cor); if(or=Y|or=y) scan(); /调用浏览功能 n请输入你要修改的图书的编号:,chakan); fseek(fpj,0,0);jie,sizeof(ji),1,fpj);feof(fpj)/判断是否该书已经借阅 if(strcmp(jie.bnum,chakan)=0) /已借阅图书的编号与所要修改编号相同 n这本书已有人借阅,不能操作!n正在退出 system( p=fopen(books1.txtwb+feof(fp) if(strcmp(boo.num,chakan)=0) nn1-书名 2-编号 3-作者 4-价格 5-出版社 6-类别 7-库存nn
10、请选择要修改的项目: scanf(xu); if(xu=1) 你要把%s改为: scanf( else if(xu=2) do i=1;,num); rewind(fp); fread(& while(! if(strcmp(booq.num,num)=0) printf( i=0; break; fread(& while(i=0); rewind(fp); for(i=0;i0)n该书库存剩余量为%d,请输入您要借阅该书的数量:,boo.kucun-boo.jiechu); while(scanf(shu),shu(boo.kucun-boo.jiechu)nt该书库存不足,借书失败,请重
11、新输入你要接该书的数量: if(boo.kucun=boo.jiechu)/如果图书原始库存量=图书借出量n该册图书已全部借出!正在退出nn请输入你的学号:,xnum); j=0;feof(fpj) if(strcmp(jie.bnum,num)=0)&(strcmp(jie.snum,xnum)=0)/已借阅学生学号与输入学号相同,借阅系统中学生学号存在 /作为标记,判断该书是否已经被该学生借阅 if(j=1)n你已经借阅过该书 正在退出n fseek(fps,0,0);/移动借阅文件指针到开端stu,sizeof(st),1,fps);feof(fps)/在学生结构中先判断是否存在该学生信息 if(strcmp(xnum,stu.num)=0) j=1; /标记为存在该学生信息 break;n你是第一次借阅图书,为了方便管理请输入你的姓名:,stu.name); strcpy(stu.num,xnum); stu.jie=1; /标记该学生已经借阅此书 fseek(fps,0,2); /移动文件指针到末尾/ 存
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1