C++使用map容器实现电子词典

 更新时间:2022年11月09日 16:45:18   作者:1点1滴o  
这篇文章主要为大家详细介绍了C++如何使用map容器实现电子词典功能,文中的示例代码讲解详细,具有一定的借鉴价值,需要的小伙伴可以参考一下

目的

学习使用map容器

map容器

可以理解为:一种映射,一对一(例如x对y),可以通过x查询到唯一对应的y。

本文实现的功能

读取电子词典的文件,一对一压入map容器中(即英文对应中文解释),

然后通过英文,获得中文含义,以达到电子词典的功能。

代码思想

1、打开电子词典的text文本文件;

2、使用按行读取文件中的内容(文件中一行,代表一个单词以及中文解释);

3、将读取到的数据通过sscanf函数进行拆分(通过空格判断拆分),将英文与中文分开,一对一存入map容器中

4、循环执行2、3步,直到读到文件末尾结束;

5、输入单词,使用map容器的函数去查询得到中文解释。

实现代码

#include <iostream>
using namespace std;
//#define _CRT_SECURE_NO_WARNINGS
#pragma warning (disable:4996)//用来屏蔽sscanf的警告
#include <map>
#include <fstream>
 
int main()
{
	map<string, string> wordDict;
	fstream fs;
	fs.open("dict.txt", ios::in);
	char buf[1024] = { 0 };
	char key[200] = { 0 };
	char value[200] = { 0 };
	while (fs.peek() != EOF)
	{
		fs.getline(buf, 1024);
		sscanf(buf, "%s %s", key, value);
		wordDict.insert(pair<string, string>(key, value));
	}
	cout << wordDict.size() << endl;
 
	string word;
	while (1)
	{
		cout << "请输入要查询的单词:" << endl;
		cin >> word;
		int res = wordDict.count(word);
		if (res == 0)
		{
			cout << "未查询到该单词!" << endl;
		}
		else
		{
			cout << "单词说明如下:" << endl;
			cout << wordDict[word] << endl;
		}
	}
 
	return 0;
}

效果图

电子词典的文件截图:

运行结果:

到此这篇关于C++使用map容器实现电子词典的文章就介绍到这了,更多相关C++ map电子词典内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言循环语句之重复执行特定的代码块

    C语言循环语句之重复执行特定的代码块

    在C语言中分支和循环语句是实现条件执行和重复执行的重要工具,下面这篇文章主要给大家介绍了关于C语言循环语句之重复执行特定的代码块的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • C语言宏定义的扩展定义讲解

    C语言宏定义的扩展定义讲解

    这篇文章主要介绍了C语言宏定义的扩展,宏定义是C语言提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译
    2022-12-12
  • OpenCV利用高斯模糊实现简单的磨皮美颜效果

    OpenCV利用高斯模糊实现简单的磨皮美颜效果

    这篇文章主要介绍了通过OpenCV中的高斯模糊以及双边模糊来实现一个简单的磨皮美颜效果,文中的讲解很详细,感兴趣的同学可以学习一下
    2021-12-12
  • 用C语言判断字符是否为空白字符或特殊字符的方法

    用C语言判断字符是否为空白字符或特殊字符的方法

    这篇文章主要介绍了用C语言判断字符是否为空白字符或特殊字符的方法,分别为isspace()函数的使用和ispunct()函数的使用,需要的朋友可以参考下
    2015-08-08
  • 浮点数在计算机中存储方式是怎样的

    浮点数在计算机中存储方式是怎样的

    这篇文章介绍了浮点数在计算机中是如何存储的,讲解的比较详细,有需要的朋友可以参考一下。
    2016-06-06
  • 详解C++中二进制求补运算符与下标运算符的用法

    详解C++中二进制求补运算符与下标运算符的用法

    这篇文章主要介绍了C++中二进制求补运算符与下标运算符的用法,是C++入门学习中的基础知识,需要的朋友可以参考下
    2016-01-01
  • C++实现简单版通讯录管理系统

    C++实现简单版通讯录管理系统

    这篇文章主要为大家详细介绍了C++实现简单版通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • C++哈希表之线性探测法实现详解

    C++哈希表之线性探测法实现详解

    线性探测法的优点:只要散列表未满,总能找到一个不冲突的散列地址;缺点:每个产生冲突的记录被散列到离冲突最近的空地址上,从而又增加了更多的冲突机会
    2022-05-05
  • C++基本算法思想之穷举法

    C++基本算法思想之穷举法

    在使用穷举法时,需要明确问题的答案的范围,这样才可以在指定的范围内搜索答案。指定范围之后,就可以使用循环语句和条件语句逐步验证候选答案的正确性,从而得到需要的正确答案
    2013-10-10
  • c++结构体排序方式(1条件,多条件)

    c++结构体排序方式(1条件,多条件)

    这篇文章主要介绍了c++结构体排序方式(1条件,多条件),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论