c语言图书管理系统源代码.doc_第1页
c语言图书管理系统源代码.doc_第2页
c语言图书管理系统源代码.doc_第3页
c语言图书管理系统源代码.doc_第4页
c语言图书管理系统源代码.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include #include #includetypedef struct Books/*图书信息结构体*/ char bookName21; char auther21; char bookNumber16; char publisher21; int publitionTime; float price; int allNumber; int availableNumber;Books;void luru();/*录入函数*/void liulan();/*浏览函数*/void chaxunz();/*关键字搜索,如搜线性代数可用关键字线代*/int bijiao(char a,char b);/*关键字查询主要靠该函数*/void xiushan();/*修改删除函数*/int main() printf( =图书信息管理系统=n); int a; char ch=y; /*执行主循环*/ while(ch=y)|(ch=Y) printf( =n); printf( *1_信息录入=*=2_信息浏览*n); printf( *=*=*n); printf( *3_信息查询=*=4_信息修删*n); printf( =n); printf(请选择需要的功能n); scanf(%d,&a); switch(a) case 1:luru();break; case 2:liulan();break; case 3:chaxunz();break; case 4:xiushan();break; default:printf(输入错误n);break; printf(是否继续管理:y or nn); scanf(%c,&ch); scanf(%c,&ch); void luru() Books lurua; int c,b=0; char fileName31,*name=fileName; printf(请输入管理图书文件名及路径n); scanf(%s,name); FILE *fp; fp=fopen(name,a); if(fp=NULL) printf(错误请重新选择n); else printf(请输入入库数量n); scanf(%d,&c); while(bc) printf(请输入第%d本图书书名n,b+1); scanf(%s,lurua.bookName); printf(请输入第%d本图书作者名n,b+1); scanf(%s,lurua.auther); printf(请输入第%d本图书编号n,b+1); scanf(%s,lurua.bookNumber); printf(请输入第%d本图书出版单位n,b+1); scanf(%s,lurua.publisher); printf(请输入第%d本图书出版时间n,b+1); scanf(%d,&lurua.publitionTime); printf(请输入第%d本图书价格n,b+1); scanf(%f,&lurua.price); printf(请输入第%d本图书总数量n,b+1); scanf(%d,&lurua.allNumber); printf(请输入第%d本图书可借出数量n,b+1); scanf(%d,&lurua.availableNumber); fprintf( fp,%-32s%-16s%-16s%-32s%dtt%.2ft%dt%dn,lurua.bookName,lurua.auther,lurua.bookNumber,lurua.publisher,lurua.publitionTime,lurua.price,lurua.allNumber,lurua.availableNumber); b=b+1; fclose(fp);void liulan() Books lurua; char fileName31,*name=fileName; FILE *fp; printf(请输入图书库文件及路径n); scanf(%s,name); fp=fopen(name,r); if(fp!=NULL) printf(书名tttt作者tt编号tt出版单位tttt出版时间tt价格t总数量t可借出数量n); while(!feof(fp) fscanf(fp,%s%s%s%s%d%f%d%dn,lurua.bookName,lurua.auther,lurua.bookNumber,lurua.publisher,&lurua.publitionTime,&lurua.price,&lurua.allNumber,&lurua.availableNumber); printf(%-32s%-16s%-16s%-32s%dtt%.2ft%dt%dn,lurua.bookName,lurua.auther,lurua.bookNumber,lurua.publisher,lurua.publitionTime,lurua.price,lurua.allNumber,lurua.availableNumber); else printf(错误,请重新选择n); fclose(fp);void chaxunz() char filename31; printf(请输入图书库文件名及路径(小于30个字符)n); scanf(%s,filename); FILE *fp; fp=fopen(filename,r); Books book1; char ch=y; int a; char duqu21,wenjian21; /*查询次循环*/ while(ch=y)|(ch=Y) printf( *n); printf( #1_按书名*2_按作者#n); printf( *n); printf(请选择?n); scanf(%d,&a); printf(请输入关键词;n); scanf(%s,duqu); printf(书名tttt作者tt编号tt出版单位tttt出版时间tt价格t总数量t可借出数量n); switch(a) case 1: while(!feof(fp) fscanf(fp,%s%s%s%s%d%f%d%dn,book1.bookName,book1.auther,book1.bookNumber,book1.publisher,&book1.publitionTime,&book1.price,&book1.allNumber,&book1.availableNumber); strcpy(wenjian,book1.bookName); if(bijiao(duqu,wenjian)=1) printf(%-32s%-16s%-16s%-32s%dtt%.2ft%dt%dn,book1.bookName,book1.auther,book1.bookNumber,book1.publisher,book1.publitionTime,book1.price,book1.allNumber,book1.availableNumber); ;break; case 2: while(!feof(fp) fscanf(fp,%s%s%s%s%d%f%d%dn,book1.bookName,book1.auther,book1.bookNumber,book1.publisher,&book1.publitionTime,&book1.price,&book1.allNumber,&book1.availableNumber); strcpy(wenjian,book1.auther); if(bijiao(duqu,wenjian)=1) printf(%-32s%-16s%-16s%-32s%dtt%.2ft%dt%dn,book1.bookName,book1.auther,book1.bookNumber,book1.publisher,book1.publitionTime,book1.price,book1.allNumber,book1.availableNumber); ;break; default:;break; printf(是否继续查询: y or n); scanf(%c,&ch); scanf(%c,&ch); rewind(fp); fclose(fp);int bijiao(char a,char b) char cha2,chb2; cha0=chb0=l; cha1=chb1=0; int i=0,n=0,k=0; cha0=a0; chb0=b0; while(cha0!=0)&(chb0!=0) if(strcmp(cha,chb)=0) i=i+1; k=k+1; else n=n+1; cha0=ai,chb0=bi+n; i=0; while(ai!=0) i=i+1; if(i=k) return 1; else return 0;void xiushan() FILE *fpa; char bookNumbera16; int m=0,n,i; Books lurua; char filename31; printf(请输入库文件名及路径:n); scanf(%s,filename); fpa=fopen(filename,r); if(fpa!=NULL) while(!feof(fpa)/*确定书本数*/ fscanf(fpa,%s%s%s%s%d%f%d%dn,lurua.bookName,lurua.auther,lurua.bookNumber,lurua.publisher,&lurua.publitionTime,&lurua.price,&lurua.allNumber,&lurua.availableNumber); m=m+1; Books xiushanam; rewind(fpa); /*全部读取至内存*/ for(i=0;im;i+) fscanf(fpa,%s%s%s%s%d%f%d%dn,xiushanai.bookName,xiushanai.auther,xiushanai.bookNumber,xiushanai.publisher,&xiushanai.publitionTime,&xiushanai.price,&xiushanai.allNumber,&xiushanai.availableNumber); /*具体操作*/ printf( *n); printf( #1_修改*2_删除#n); printf( *n); printf(请选择?n); scanf(%d,&i); switch(i) case 1: printf(请输入需修改图书书名n); scanf(%s,lurua.bookName); printf(请输入需修改图书作者名n); scanf(%s,lurua.auther); printf(请输入需修改图书编号n); scanf(%s,lurua.bookNumber); printf(请输入需修改图书出版单位n); scanf(%s,lurua.publisher); printf(请输入需修改图书出版时间n); scanf(%d,&lurua.publitionTime); printf(请输入第%d本图书价格n); scanf(%f,&lurua.price); printf(请输入需修改图书总数量n); scanf(%d,&lurua.allNumber); printf(请输入需修改图书可借出数量n); scanf(%d,&lurua.availableNumber); for(i=0;im;i+) if(strcmp(lurua.bookNumber,xiushanai.bookNumber)=0) n=i; strcpy(xiushanan.bookName,lurua.bookName); strcpy(xiushanan.bookNumber,lurua.bookNumber); strcpy(xiushanan.auther,lurua.auther); strcpy(xiushanan.publisher,lurua.publisher); xiushanan.publitionTime=lurua.publitionTime; xiushanan.price=lurua.price; xiushanan.allNumber=lurua.allNumber; xiushanan.availableNumber=lurua.availableNumber; printf(修改成功n); ;break; case 2: printf(请输入需删图书编号:n); scanf(%s,bookNumbera); for(i=0;im;i+) if(strcmp(bookNumbera,xiushanai.bookNumber)=0) n=i; for(i=n;im-1;i+) strcpy(xiushanai.bookName,xiushanai+1.bookName); strcpy(xiushanai.bookNumber,xiushanai+1.bookNumber); strc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论