[工学]数据结构课程设计——图书管理信息系统内容摘要:

me)。 scanf(%d,amp。 [i].bn1)。 [i].bn2=0。 //将已借书数置 0 for(int j=1。 ji。 j++) if(strcmp([i].rno,[j].rno)==0amp。 amp。 strcmp([i].name,c[j].name)==0) {cout已有该读者的信息 ,请重新输入 !endl。 i=。 break。 } cout继续输入吗 ?y/n:。 cinyn。 i++。 } =i1。 } /* 读入盘中各类文件 */ void readfile(BookDbaseFile amp。 bf,BnoIdxFile amp。 bif,LHFile1 amp。 f1,LHFile2 amp。 f2,LHFile3 amp。 f3,ReadFile amp。 rf,BbookFile amp。 bbf) { FILE *fpout。 int i。 //读图书文件 fpout=fopen(book,rb)。 if(fpout==NULL) { printf(Cannot open this file !\n)。 exit(0)。 } i=1。 while(!feof(fpout)) {fread(amp。 [i],sizeof(BookRecType),1,fpout)。 i++。 if(feof(fpout))break。 } =i1。 fclose(fpout)。 //读书号索引文件 fpout=fopen(bidx,rb)。 if(fpout==NULL) { printf(Cannot open this file !\n)。 exit(0)。 } i=1。 while(!feof(fpout)) {fread(amp。 [i],sizeof(BidxRecType),1,fpout)。 i++。 if(feof(fpout))break。 } =i1。 fclose(fpout)。 //读书名索引链头文件 fpout=fopen(nidx,rb)。 if(fpout==NULL) { printf(Cannot open this file !\n)。 exit(0)。 } i=1。 while(!feof(fpout)) {fread(amp。 [i],sizeof(BNRecType),1,fpout)。 i++。 } =i1。 fclose(fpout)。 //读作者索引文件 fpout=fopen(aidx,rb)。 if(fpout==NULL) { printf(Cannot open this file !\n)。 exit(0)。 } i=1。 while(!feof(fpout)) {fread(amp。 [i],sizeof(BARecType),1,fpout)。 i++。 } =i1。 fclose(fpout)。 //读出版社索引链头文件 fpout=fopen(pidx,rb)。 if(fpout==NULL) { printf(Cannot open this file !\n)。 exit(0)。 } i=1。 while(!feof(fpout)) {fread(amp。 [i],sizeof(BPRecType),1,fpout)。 i++。 } =i1。 fclose(fpout)。 //读读者文件 fpout=fopen(read,rb)。 if(fpout==NULL) { printf(Cannot open this file !\n)。 exit(0)。 } i=1。 while(!feof(fpout)) {fread(amp。 [i],sizeof(RRecType),1,fpout)。 i++。 } =i1。 fclose(fpout)。 //读借还书文件 fpout=fopen(bbff,rb)。 if(fpout==NULL) { printf(Cannot open this file !\n)。 exit(0)。 } i=1。 while(!feof(fpout)) {fread(amp。 [i],sizeof(BbookRecType),1,fpout)。 i++。 } =i1。 fclose(fpout)。 } // /*(1)书号查询算法 .用二分法查找实现书号查询算法如下 */ int BinSearch(BnoIdxFile bif,char key[]) { int low,high,mid。 low=1。 high=。 while(low=high){ mid=(low+high)/2。 if(strcmp(key,[mid].bno)==0)return [mid].RecNo。 else if(strcmp(key,[mid].bno)0) high=mid1。 else low=mid+1。 } return 0。 }//BinSearch /*(2)按书名查询算法 */ int BnameFind(LHFile1 lhf1,char key[]) {int i,k=0。 for(i=1。 i=。 i++) {if(strcmp(key,[i].bname)==0) { k=[i].lhead。 break。 } }return k。 } /*(3)按作者查询算法 */ int BauthFind(LHFile2 lhf2,char key[]) {int i,k=0。 for(i=1。 i=。 i++) {if(strcmp(key,[i].author)==0) { k=[i].lhead。 break。 } } return k。 } /*(4)按出版社查询算法 */ int BnameFind(LHFile3 lhf3,char key[]) {int i,k=0。 for(i=1。 i=。 i++) { if(strcmp(key,[i].press)==0) {k=[i].lhead。 break。 }} return k。 } /*(5)输出一条图书主数据库记录 */ void ShowRec(BookDbaseFile df,int i) { printf(书号 书 名 作者名 出版社 分类号 \n)。 printf(==============================================\n)。 printf(%6s%10s,[i].bno,[i].bname)。 printf(%8s%8s,[i].author,[i].press)。 printf(%6s\n,[i].sortno)。 printf(==============================================\n)。 coutendl。 } /*(6)图书查询控制程序 */ void SearchBook(BookDbaseFile df,BnoIdxFile bif,LHFile1 f1,LHFile2 f2,L。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。