索引查询图书(C语言程序).docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
索引查询图书(C语言程序)

// algo4-5.cpp 根据algo4-4.cpp产生的文件,索引查询图书 #includec1.h typedef int ElemType; #includec2-5.h #includebo2-6.cpp #includec4-2.h #includebo4-2.cpp #define MaxBookNum 10 // 假设只对10本书建索引表 #define MaxKeyNum 25 // 索引表的最大容量(关键词的最大数) #define MaxLineLen 51 // 书目串(书名+书号)buf的最大长度 struct IdxTermType // 索引项类型 { HString key; // 关键词(堆分配类型,c4-2.h) LinkList bnolist; // 存放书号索引的链表(c2-5.h) }; struct IdxListType // 索引表类型(有序表) { IdxTermType item[MaxKeyNum+1]; int last; // 关键词的个数 }; struct BookTermType // 书目项类型 { char bookname[MaxLineLen]; // 书目串 int bookno; // 书号 }; struct BookListType // 书目表类型(有序表) { BookTermType item[MaxBookNum]; int last; // 书目的数量 }; int main() { FILE *f; // 任何时间最多打开一个文件 IdxListType idxlist; // 索引表 BookListType booklist; // 书目表 char buf[MaxLineLen+1]; // 当前书目串(包括\0) HString ch; // 索引字符串 int BookNo; // 书号变量 int i,k,l; Link p; InitString(ch); // 初始化HString类型的变量 f=fopen(BookIdx.txt,r); // 打开书名关键词索引表文件 if(!f) exit(OVERFLOW); fscanf(f,%d,idxlist.last); // 书名关键词个数 for(k=0;kidxlist.last;k++) // 把关键词文件的内容拷到idxlist中 { fscanf(f,%s,buf); i=0; while(buf[i]) buf[i++]=tolower(buf[i]); // 字母转为小写 InitString(idxlist.item[k].key); StrAssign(idxlist.item[k].key,buf); InitList(idxlist.item[k].bnolist); // 初始化书号链表 bo2-6.cpp fscanf(f,%d,i); for(l=0;li;l++) { fscanf(f,%d,BookNo); if(!MakeNode(p,BookNo)) // 分配失败 bo2-6.cpp exit(OVERFLOW); p-next=NULL; Append(idxlist.item[k].bnolist,p); // 插入新的书号索引 bo2-6.cpp } } fclose(f); f=fopen(BookInfo.txt,r); // 打开书目文件 if(!f) exit(FALSE); i=0; while(!feof(f)) // 把书目文件的内容拷到booklist中 { fgets(buf,MaxLineLen,f); booklist.item[i].bookno=(buf[0]-0)*100+(buf[1]-0)*10+(buf[2]-0); // 前三位为书号 strcpy(booklist.item[i].bookname,buf); i++; } booklist.last=i; printf(请输入书目的关键词(一个)); scanf(%s,buf); i=0; while(buf[i]) buf[i++]=tolower(buf[i]); // 字母转为小写 StrAssign(ch,buf); i=0; do { k=StrCompa

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档