《2022年c语言图书管理系统源代码 .pdf》由会员分享,可在线阅读,更多相关《2022年c语言图书管理系统源代码 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、#include #include #include typedef 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 b
2、ijiao(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) ca
3、se 1:luru();break; case 2:liulan();break; case 3:chaxunz();break; case 4:xiushan();break; default:printf( 输入错误 n);break; printf( 是否继续管理:y or nn); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - scanf(%c,&ch); scanf(%c,&ch); void luru() Book
4、s 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,luru
5、a.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
6、); 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; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -
7、- - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 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(
8、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.
9、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; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
10、 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - /* 查询次循环 */ 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) f
11、scanf(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.
12、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); strc
13、py(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); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
14、 - - - 第 4 页,共 8 页 - - - - - - - - - ;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+
15、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() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - FILE *fpa; char bookNumbera16; int m=0,n,i; Books lurua; char filename31; printf( 请输入
16、库文件名及路径: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); /
17、* 全部读取至内存*/ 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( 请选择?
18、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); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - printf( 请输入
19、需修改图书出版单位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,xi
20、ushanai.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=luru
21、a.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
22、,xiushanai+1.bookNumber); strcpy(xiushanai.auther,xiushanai+1.auther); strcpy(xiushanai.publisher,xiushanai+1.publisher); xiushanai.publitionTime=xiushanai+1.publitionTime; xiushanai.price=xiushanai+1.price; xiushanai.allNumber=xiushanai+1.allNumber; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
23、- - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - xiushanai.availableNumber=xiushanai+1.availableNumber; fclose(fpa); fpa=fopen(filename,w); for(i=0;im-1;i+) fprintf( fpa,%-32s%-16s%-16s%-32s%dtt%.2ft%dt%dn,xiushanai.bookName,xiushanai.auther,xiushanai.bookNumber,xiushanai.publisher,xiushanai.publitionTime,xiushanai.price,xiushanai.allNumber,xiushanai.availableNumber); printf( 删除成功。 n); fclose(fpa); ; break; default:;break; else printf(errorn); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -