还剩6页未读,继续阅读
文本内容:
#includestdio.h#includestdlib.h#includestring.htypedefstructBooks/*图书信息结构体*/{charbookName
[21];charauther
[21];charbookNumber
[16];charpublisher
[21];intpublitionTime;floatpri__;intallNumber;int__ailableNumber;}Books;voidluru;/*录入函数*/voidliulan;/*浏览函数*/voidchaxunz;/*关键字搜索,如搜线性代数可用关键字线代*/intbijiaochara[]charb[];/*关键字查询主要靠该函数*/voidxiushan;/*修改删除函数*/int__in{printf========图书信息管理系统=======\n;inta;charch=y;/*执行主循环*/whilech==y||ch==Y{printf===============================\n;printf*1_信息录入====*====2_信息浏览*\n;printf*==============*==============*\n;printf*3_信息查询====*====4_信息修删*\n;printf===============================\n;printf请选择需要的功能\n;scanf%da;switcha{case1:luru;break;case2:liulan;break;case3:chaxunz;break;case4:xiushan;break;default:printf输入错误\n;break;}printf是否继续管理yorn\n;scanf%cch;scanf%cch;}}voidluru{Bookslurua;intcb=0;charfileName
[31]*name=fileName;printf请输入管理图书文件名及路径\n;scanf%sname;FILE*fp;fp=fopennamea;iffp==NULLprintf错误请重新选择\n;elseprintf请输入入库数量\n;scanf%dc;whilebc{printf请输入第%d本图书书名\nb+1;scanf%slurua.bookName;printf请输入第%d本图书__名\nb+1;scanf%slurua.auther;printf请输入第%d本图书编号\nb+1;scanf%slurua.bookNumber;printf请输入第%d本图书出版单位\nb+1;scanf%slurua.publisher;printf请输入第%d本图书出版时间\nb+1;scanf%dlurua.publitionTime;printf请输入第%d本图书__\nb+1;scanf%flurua.pri__;printf请输入第%d本图书总数量\nb+1;scanf%dlurua.allNumber;printf请输入第%d本图书可借出数量\nb+1;scanf%dlurua.__ailableNumber;fprintffp%-32s%-16s%-16s%-32s%d\t\t%.2f\t%d\t%d\nlurua.bookNamelurua.autherlurua.bookNumberlurua.publisherlurua.publitionTimelurua.pri__lurua.allNumberlurua.__ailableNumber;b=b+1;}fclosefp;}voidliulan{Bookslurua;charfileName
[31]*name=fileName;FILE*fp;printf请输入图书库文件及路径\n;scanf%sname;fp=fopennamer;iffp!=NULL{printf书名\t\t\t\t__\t\t编号\t\t出版单位\t\t\t\t出版时间\t\t__\t总数量\t可借出数量\n;while!feoffp{fscanffp%s%s%s%s%d%f%d%d\nlurua.bookNamelurua.autherlurua.bookNumberlurua.publisherlurua.publitionTimelurua.pri__lurua.allNumberlurua.__ailableNumber;printf%-32s%-16s%-16s%-32s%d\t\t%.2f\t%d\t%d\nlurua.bookNamelurua.autherlurua.bookNumberlurua.publisherlurua.publitionTimelurua.pri__lurua.allNumberlurua.__ailableNumber;}}else{printf错误,请重新选择\n;}fclosefp;}voidchaxunz{charfilename
[31];printf请输入图书库文件名及路径(小于30个字符)\n;scanf%sfilename;FILE*fp;fp=fopenfilenamer;Booksbook1;charch=y;inta;charduqu
[21]wenjian
[21];/*查询次循环*/whilech==y||ch==Y{printf*********************\n;printf#1_按书名***2_按__#\n;printf*********************\n;printf请选择\n;scanf%da;printf请输入关键词;\n;scanf%sduqu;printf书名\t\t\t\t__\t\t编号\t\t出版单位\t\t\t\t出版时间\t\t__\t总数量\t可借出数量\n;switcha{case1:{while!feoffp{fscanffp%s%s%s%s%d%f%d%d\nbook
1.bookNamebook
1.autherbook
1.bookNumberbook
1.publisherbook
1.publitionTimebook
1.pri__book
1.allNumberbook
1.__ailableNumber;strcpywenjianbook
1.bookName;ifbijiaoduquwenjian==1printf%-32s%-16s%-16s%-32s%d\t\t%.2f\t%d\t%d\nbook
1.bookNamebook
1.autherbook
1.bookNumberbook
1.publisherbook
1.publitionTimebook
1.pri__book
1.allNumberbook
1.__ailableNumber;}};break;case2:{while!feoffp{fscanffp%s%s%s%s%d%f%d%d\nbook
1.bookNamebook
1.autherbook
1.bookNumberbook
1.publisherbook
1.publitionTimebook
1.pri__book
1.allNumberbook
1.__ailableNumber;strcpywenjianbook
1.auther;ifbijiaoduquwenjian==1printf%-32s%-16s%-16s%-32s%d\t\t%.2f\t%d\t%d\nbook
1.bookNamebook
1.autherbook
1.bookNumberbook
1.publisherbook
1.publitionTimebook
1.pri__book
1.allNumberbook
1.__ailableNumber;}};break;default:;break;}printf是否继续查询yorn;scanf%cch;scanf%cch;rewindfp;}fclosefp;}intbijiaochara[]charb[]{charcha
[2]chb
[2];cha
[0]=chb
[0]=l;cha
[1]=chb
[1]=\0;inti=0n=0k=0;cha
[0]=a
[0];chb
[0]=b
[0];whilecha
[0]!=\0chb
[0]!=\0{ifstrcmpchachb==0{i=i+1;k=k+1;}else{n=n+1;}cha
[0]=a[i]chb
[0]=b[i+n];}i=0;whilea[i]!=\0i=i+1;ifi==kreturn1;elsereturn0;}voidxiushan{FILE*fpa;charbookNumbera
[16];intm=0ni;Bookslurua;charfilename
[31];printf请输入库文件名及路径\n;scanf%sfilename;fpa=fopenfilenamer;iffpa!=NULL{while!feoffpa/*确定书本数*/{fscanffpa%s%s%s%s%d%f%d%d\nlurua.bookNamelurua.autherlurua.bookNumberlurua.publisherlurua.publitionTimelurua.pri__lurua.allNumberlurua.__ailableNumber;m=m+1;}Booksxiushana[m];rewindfpa;/*全部读取至内存*/fori=0;im;i++{fscanffpa%s%s%s%s%d%f%d%d\nxiushana[i].bookNamexiushana[i].autherxiushana[i].bookNumberxiushana[i].publisherxiushana[i].publitionTimexiushana[i].pri__xiushana[i].allNumberxiushana[i].__ailableNumber;}/*具体操作*/printf*********************\n;printf#1_修改*******2_删除#\n;printf*********************\n;printf请选择?\n;scanf%di;switchi{case1:{printf请输入需修改图书书名\n;scanf%slurua.bookName;printf请输入需修改图书__名\n;scanf%slurua.auther;printf请输入需修改图书编号\n;scanf%slurua.bookNumber;printf请输入需修改图书出版单位\n;scanf%slurua.publisher;printf请输入需修改图书出版时间\n;scanf%dlurua.publitionTime;printf请输入第%d本图书__\n;scanf%flurua.pri__;printf请输入需修改图书总数量\n;scanf%dlurua.allNumber;printf请输入需修改图书可借出数量\n;scanf%dlurua.__ailableNumber;fori=0;im;i++{ifstrcmplurua.bookNumberxiushana[i].bookNumber==0n=i;}strcpyxiushana[n].bookNamelurua.bookName;strcpyxiushana[n].bookNumberlurua.bookNumber;strcpyxiushana[n].autherlurua.auther;strcpyxiushana[n].publisherlurua.publisher;xiushana[n].publitionTime=lurua.publitionTime;xiushana[n].pri__=lurua.pri__;xiushana[n].allNumber=lurua.allNumber;xiushana[n].__ailableNumber=lurua.__ailableNumber;printf修改成功\n;};break;case2:{printf请输入需删图书编号\n;scanf%sbookNumbera;fori=0;im;i++{ifstrcmpbookNumberaxiushana[i].bookNumber==0n=i;}fori=n;im-1;i++{strcpyxiushana[i].bookNamexiushana[i+1].bookName;strcpyxiushana[i].bookNumberxiushana[i+1].bookNumber;strcpyxiushana[i].autherxiushana[i+1].auther;strcpyxiushana[i].publisherxiushana[i+1].publisher;xiushana[i].publitionTime=xiushana[i+1].publitionTime;xiushana[i].pri__=xiushana[i+1].pri__;xiushana[i].allNumber=xiushana[i+1].allNumber;xiushana[i].__ailableNumber=xiushana[i+1].__ailableNumber;}fclosefpa;fpa=fopenfilenamew;fori=0;im-1;i++fprintffpa%-32s%-16s%-16s%-32s%d\t\t%.2f\t%d\t%d\nxiushana[i].bookNamexiushana[i].autherxiushana[i].bookNumberxiushana[i].publisherxiushana[i].publitionTimexiushana[i].pri__xiushana[i].allNumberxiushana[i].__ailableNumber;printf删除成功\n;fclosefpa;};break;default:;break;}}elseprintferror\n;}。