版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include"stdio.h"#include"stdlib.h"#include"string.h"#include"io.h"typedefstructbook{ charnum[15];//中图分类号 charname[20];//书名 charauthor[20];//作者 charpress[20];//出版单位 chartime[15];//出版时间 charstatus[10];//是否可借 doubleprice;//价格 intcount;//库存量}book;voidmenu(); //图书馆系统界面voidinsert();//插入图书信息记录voidbrowse();//浏览图书信息voidfind();//查找图书信息voiddeleter();//删除图书信息voidmodify();//修改图书信息voidleave();//退出图书系统voidmain(){ intchoice; do { menu(); printf("请选择服务项目:"); scanf("%d",&choice); switch(choice) { case1:insert();break; case2:browse();break; case3:find();break; case4:deleter();break; case5:modify();break; case6:leave();break; default:printf("输入数据错误,请从新输入!"); } }while(1); }voidmenu(){ printf("\t====================欢迎进入图书馆系统!=============================\n\n"); printf("\t\t*****************1.录入图书信息********************\n"); printf("\t\t*****************2.浏览图书信息********************\n"); printf("\t\t*****************3.查找图书信息********************\n"); printf("\t\t*****************4.删除图书信息********************\n"); printf("\t\t*****************5.修改图书信息********************\n"); printf("\t\t********************6.退出*************************\n");}voidinsert(){ FILE*fp; booka={"\0","\0","\0","\0","\0","\0",0.0,0}; if(access("bookinf.txt",0))//如果文件不存在,则初始化文件格式 { if((fp=fopen("bookinf.txt","w"))==NULL) { printf("filecreatfailure!"); exit(0); } fprintf(fp,"中图分类好书名作者出版社出版时间状态价格数量"); } else//如果文件存在,则打开文件追加信息 { if((fp=fopen("bookinf.txt","a+"))==NULL) { printf("fileopenerror!"); exit(0); } } printf("请输入图书信息\n"); printf("中图分类好 书名 作者 出版社 出版时间 状态 价格 数量\n"); scanf("%s%s%s%s%s%s%lf%d",a.num,,a.author,a.press,a.time,a.status,&a.price,&a.count); printf("%s%s%s%s%s%s%lf%d\n",a.num,,a.author,a.press,a.time,a.status,a.price,a.count); fprintf(fp,"\n%-15s%-20s%-20s%-20s%-15s%-10s%-8.2lf%4d",a.num,,a.author,a.press,a.time,a.status,a.price,a.count);//-为左对齐,必须是“\n和+右对齐”,方便实现browse()函数 fclose(fp);}voidbrowse(){ FILE*fp; booka={"\0","\0","\0","\0","\0","\0",0.0,0},b=a; if((fp=fopen("bookinf.txt","a+"))==NULL) { printf("fileopenerror!"); exit(0); } fscanf(fp,"%*[^\n]");//跳过文本的第一行fscanf(fp,"%*[^\n]%*c");? while(!feof(fp)) { fscanf(fp,"%s%s%s%s%s%s%lf%d",a.num,,a.author,a.press,a.time,a.status,&a.price,&a.count); printf("%-4s%-4s%-4s%-4s%-4s%-4s%-8.2lf%-4d\n",a.num,,a.author,a.press,a.time,a.status,a.price,a.count); a=b; } fclose(fp);}voidfind(){ charstr[15]="\0"; FILE*fp; intflag=0; booka={"\0","\0","\0","\0","\0","\0",0.0,0},b=a; printf("请输入所要查找图书的中图分类号:"); scanf("%s",str); if((fp=fopen("bookinf.txt","r"))==NULL) { printf("fileopenerror!\n"); exit(0); } fscanf(fp,"%*[^\n]");//跳过文本的第一行fscanf(fp,"%*[^\n]%*c");? while(!feof(fp)) { fscanf(fp,"%s%s%s%s%s%s%lf%d",a.num,,a.author,a.press,a.time,a.status,&a.price,&a.count); if(!strcmp(a.num,str)) { flag=1; printf("所找图书信息为:"); printf("%-4s%-4s%-4s%-4s%-4s%-4s%-8.2lf%-4d\n",a.num,,a.author,a.press,a.time,a.status,a.price,a.count); break; } a=b;//b的用处 } if(flag==0) printf("您所找的图书不存在!\n"); fclose(fp);}voiddeleter(){ charstr[15]="\0"; intflag=0; FILE*fp,*fp1; booka={"\0","\0","\0","\0","\0","\0",0.0,0},b=a; printf("请输入所要删除图书的中图分类号:"); scanf("%s",str); if((fp=fopen("bookinf.txt","r"))==NULL) { printf("fileopenerror!"); exit(0); } if((fp1=fopen("f.txt","w"))==NULL) { printf("fileopenerror!"); exit(0); } fprintf(fp1,"中图分类好书名作者出版社出版时间状态价格数量"); fscanf(fp,"%*[^\n]");//跳过文本的第一行fscanf(fp,"%*[^\n]%*c");? while(!feof(fp)) { fscanf(fp,"%s%s%s%s%s%s%lf%d",a.num,,a.author,a.press,a.time,a.status,&a.price,&a.count); if(!strcmp(str,a.num)) { flag=1; continue; } fprintf(fp1,"\n%-15s%-20s%-20s%-20s%-15s%-10s%-8.2lf%4d",a.num,,a.author,a.press,a.time,a.status,a.price,a.count); a=b; } fclose(fp1); fclose(fp); remove("bookinf.txt"); rename("f.txt","bookinf.txt"); if(flag==0) printf("所要删除的图书不存在!\n"); else printf("删除成功!\n");}voidmodify(){ charstr[15]="\0"; FILE*fp,*fp1; chars[120]="\0"; booka={"\0","\0","\0","\0","\0","\0",0.0,0}; printf("请输入所要修改图书的中图分类号:"); scanf("%s",str); if((fp=fopen("bookinf.txt","r+"))==NULL) { printf("fileopenerror!"); exit(0); } if((fp1=fopen("f.txt","w"))==NULL) { printf("fileopenerror!"); exit(0); } fgets(s,120,fp);//读取bookinf.txt第一行的信息,使读取位置移动到第二行 fprintf(fp1,"中图分类好书名作者出版社出版时间状态价格数量");//初始化新文件f.txt while(!feof(fp)) { fscanf(fp,"%s%s%s%s%s%s%lf%d",a.num,,a.author,a.press,a.time,a.status,&a.price,&a.count); if(!strcmp(str,a.num)) //如果遇到所要修改的记录,则从新输入图书信息 { printf("请输入图书信息,即将记录修改为:\n"); printf("中图分类好 书名 作者 出版社 出版时间 状态 价格 数量\n"); scanf("%s%s%s%s%s%s%lf%d",a.num,,a.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桥梁施工吊装劳务分包
- 碎石采购协议格式
- 建筑模板支撑合作协议
- 协同发展互惠协议
- 建设工程监理招标文件编写注意事项
- 食堂蔬菜采购许可合同
- 学生志愿服务承诺书
- 外包合同的履行保障
- 建筑材料买卖协议模板
- plc控制喷泉课程设计
- 露天矿山安全培训课件经典
- 企业资产管理培训
- 公文写作课件教学课件
- 2024年巴西医疗健康产业发展趋势
- 自然辩证法学习通超星期末考试答案章节答案2024年
- 2024年6月浙江省高考地理试卷真题(含答案逐题解析)
- 中考语文专项必刷题之名著阅读专题(天津版)
- 2024版合伙经营运输车辆合同范本
- 热点主题作文写作指导:多一些尊重理解少一些偏见误解(审题指导与例文)
- +Unit+2+We're+family+Section+A+2a+-+2e+说课稿 人教版(2024)七年级英语上册++
- 防性侵安全教育课件
评论
0/150
提交评论