哈利波特检索

点击下载源代码
【问题描述】

将哈利波特的7本书(txt格式)读入,然后在指定了人名/地名后,显示查询结果,选择指定查询结果序号(选择查询内容),能够显示指定查询结果所在位置前后的一段文字。

【输入形式】

哈利波特的7本书,txt文件

【输出形式】

人名/地名输出:

显示查找到的人名/地名,以及出现的页码和章节,书名, 按照出现的页码顺序显示,每个查询结果都对应序号。

序号 人名/地名 页码 章节 书名

1 Harry 1 1 Harry_Potter_and_the_Chamber_of_Secrets_Book_2

选择查询结果记录项时,显示指定的人名/地名位置前后的一段文字。

选择序号,或者单击查询记录行,能够显示到指定位置人名/地名前后的一段文字。如选择序号1,应显示:

Not for the first time, an argument had broken out over breakfast at number four, Privet Drive. Mr. Vernon Durs-

ley had been woken in the early hours of the morning by a loud, hooting noise from his nephew Harry’s room.

【其他要求】

其他要求:

界面无要求,可以选择图形界面,也可以只是罗列查询结果即可。支持输入人名/地名,显示查询结果。选择序号,或者单击查询记录行,能够显示到指定位置人名/地名前后的一段文字。如选择序号1,应显示:

提交方式,需要提供一个word文档,对程序设计和实现结果进行说明。模板参看附件。还需要提供源程序代码。

【解答】

#include<iostream>
#include<string>
#include<fstream>
#include<stdlib.h>
#include<time.h>
using namespace std;
bool daxie(string a)
{if (a[0] == 'C')return true;return false;
}string name, temp, he[10000];
int chapter;
char a[10000];
int index = 0, page = 1, ix;
void magic(string prename, string strname)
{page = 1;chapter = 1;name = strname;ifstream infile;string txtname = prename + ".txt";infile.open(txtname.c_str());if (!infile){cerr << "File could not be open!" << endl;abort();}while (infile.getline(a, 10000)){temp = a;if (temp[0] > '0'&&temp[0] <= '9')page++;if (temp.find("Chapter") != string::npos&&daxie(temp) || temp.find("CHAPTER") != string::npos&&daxie(temp)){chapter++;}if (temp.find(name) != string::npos){ix = -1;while (temp.find(name, ix + 1) != string::npos){ix = temp.find(name, ix + 1);index++;cout << index  << "     " << name << '\t'<< "     " << page << '\t' <<" "<< chapter << '\t'  << prename<< '\t' << endl;he[index] = temp;}}}
}
int main()
{cout<<"�Ѷ�ȡ�������ص�8���飬������Ҫ��ѯ�ĵ����ݣ�"<<endl;getline(cin, name);
clock_t startTime,endTime;  startTime = clock();   cout << "���        ���� / ����\t   ҳ��\t �½�\t     ����\t" << endl;magic("HP2--Harry_Potter_and_the_Chamber_of_Secrets_Book_2_", name);magic("HP7--Harry_Potter_and_the_Deathly_Hallows_Book_7_", name);magic("J.K. Rowling - HP 0 - Harry Potter Prequel", name);magic("J.K. Rowling - HP 3 - Harry Potter and the Prisoner of Azkaban", name);magic("J.K. Rowling - HP 4 - Harry Potter and the Goblet of Fire", name);magic("J.K. Rowling - HP 6 - Harry Potter and the Half-Blood Prince", name);magic("J.K. Rowling - Quidditch Through the Ages", name);magic("J.K. Rowling - The Tales of Beedle the Bard", name);endTime = clock();  cout << '\n'<<"��ѯ������ʱ��Ϊ: " <<(double)(endTime - startTime)/CLOCKS_PER_SEC << "s" << endl;   int i;cout<<"\n��ѡ�����,������ʾ��ָ��λ������/����ǰ���һ�����֣�"<<endl; cin >> i;cout << he[i - 1] << he[i] << he[i + 1] << endl;system("pause");return 0;
}
//采用编码格式问题,所以会有乱码,在IDE里调试就好了。
//顺手给个点赞吧!!!!!!!!!

哈利波特检索c++实现相关推荐

  1. 哈利波特检索_语料库ing说: 难怪哈利波特与混血王子那么好看

    作为资深的Corpus linguistics 的玩家,特别喜欢检索data. 于是把<哈利波特与混血王子>创建成一个corpus data, 检索着玩一玩. 用Corpus检索后,发现了 ...

  2. 课程作业 哈利波特文章检索系统

    [问题描述] 将哈利波特的7本书(txt格式)读入,然后在指定了人名/地名后,显示查询结果,选择指定查询结果序号(选择查询内容),能够显示指定查询结果所在位置前后的一段文字. [输入形式] 哈利波特的 ...

  3. 用python分析小说_用Python对哈利波特系列小说进行情感分析

    原标题:用Python对哈利波特系列小说进行情感分析 准备数据 现有的数据是一部小说放在一个txt里,我们想按照章节(列表中第一个就是章节1的内容,列表中第二个是章节2的内容)进行分析,这就需要用到正 ...

  4. 向量数据库入坑指南:聊聊来自元宇宙大厂 Meta 的相似度检索技术 Faiss

    我们日常使用的各种 APP 中的许多功能,都离不开相似度检索技术.比如一个接一个的新闻和视频推荐.各种常见的对话机器人.保护我们日常账号安全的风控系统.能够用哼唱来找到歌曲的听歌识曲,甚至就连外卖配送 ...

  5. 向量数据库入坑:传统文本检索方式的降维打击,使用 Faiss 实现向量语义检索

    在上一篇文章<聊聊来自元宇宙大厂 Meta 的相似度检索技术 Faiss>中,我们有聊到如何快速入门向量检索技术,借助 Meta AI(Facebook Research)出品的 fais ...

  6. 分治算法的设计思想(二分检索、二分归并排序)

    分治策略思想: 将原问题划分或者归结为规模较小的子问题. 递归或迭代求解每一个问题. 将子问题的解综合得到原问题的解. 性质: 子问题与原问题具有相同的性质. 子问题的求解彼此独立. 划分时子问题的规 ...

  7. LeetCode简单题之统计匹配检索规则的物品数量

    题目 给你一个数组 items ,其中 items[i] = [typei, colori, namei] ,描述第 i 件物品的类型.颜色以及名称. 另给你一条由两个字符串 ruleKey 和 ru ...

  8. CVPR2020论文解析:视频语义检索

    CVPR2020论文解析:视频语义检索 Fine-grained Video-Text Retrieval with Hierarchical Graph Reasoning 论文链接:https:/ ...

  9. 计算机检索的优点,专利检索与分析系统拥有哪些优势?

    专利检索与分析系统拥有哪些优势?现在很多朋友都在了解专利检索与分析系统又有哪些优势,因为他们需要使用这些系统,不少朋友都会利用业余时间搞各种发明专利,并申请发明专利,在申请之前,人们就需要对专利进行检 ...

最新文章

  1. php学习之------[运算符相关概念]
  2. 计组-CISC/RISC小节
  3. 我的docker随笔36:定制jenkins镜像
  4. 终于!这本Python书彻底玩大了!
  5. android自动化测试抖音,全自动化的抖音启动速度测试
  6. 【细胞分割】基于matlab GUI生物细胞计数【含Matlab源码 758期】
  7. linux下的PDF阅读器
  8. coin3d碰撞检测的实现
  9. 大学计算机基础知识电子版,天津大学计算机基础知识(完整版带答案)
  10. H5 微信分享显示标题和图标
  11. 新中大冲刺科创板:年营收2.84亿 拟募资5.57亿
  12. 故乡,生活十多年的地方
  13. Nagios-安装与配置
  14. java中if(a.c())_if 语句中的条件语句只能是() 类型。_学小易找答案
  15. linux设备驱动归纳总结(十三):1.触摸屏与ADC时钟
  16. GIS海量数据的存储和读取
  17. 微信内置浏览器window.opener不能使用
  18. html5公司年终抽奖程序源码按数字随机抽奖
  19. BoCloud博云稳居中国容器软件市场份额TOP 5
  20. Hive常用系统函数-聚合函数

热门文章

  1. 创业新手的八本武功秘籍
  2. C# 委托及各种写法
  3. 2021 PostgreSQL 中国技术大会 PPT 下载
  4. 华为秉持开放合作,用开源生态迎接和共建“新全球化”
  5. 自制Kindle电子书转化的实用技巧
  6. 电巢:2022年半导体业国产替代现状(附产业图谱1000+企业名单)
  7. 西班牙语常用单词(muy bien)
  8. cf3月14服务器维护,CF3月14在线活动背后的真相详情
  9. CSS中易迅网三角形的制作
  10. 路由器连猫不能上网的歪解