欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++使用map容器實(shí)現(xiàn)電子詞典

 更新時(shí)間:2022年11月09日 16:45:18   作者:1點(diǎn)1滴o  
這篇文章主要為大家詳細(xì)介紹了C++如何使用map容器實(shí)現(xiàn)電子詞典功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的小伙伴可以參考一下

目的

學(xué)習(xí)使用map容器

map容器

可以理解為:一種映射,一對(duì)一(例如x對(duì)y),可以通過(guò)x查詢(xún)到唯一對(duì)應(yīng)的y。

本文實(shí)現(xiàn)的功能

讀取電子詞典的文件,一對(duì)一壓入map容器中(即英文對(duì)應(yīng)中文解釋?zhuān)?/p>

然后通過(guò)英文,獲得中文含義,以達(dá)到電子詞典的功能。

代碼思想

1、打開(kāi)電子詞典的text文本文件;

2、使用按行讀取文件中的內(nèi)容(文件中一行,代表一個(gè)單詞以及中文解釋?zhuān)?/p>

3、將讀取到的數(shù)據(jù)通過(guò)sscanf函數(shù)進(jìn)行拆分(通過(guò)空格判斷拆分),將英文與中文分開(kāi),一對(duì)一存入map容器中

4、循環(huán)執(zhí)行2、3步,直到讀到文件末尾結(jié)束;

5、輸入單詞,使用map容器的函數(shù)去查詢(xún)得到中文解釋。

實(shí)現(xiàn)代碼

#include <iostream>
using namespace std;
//#define _CRT_SECURE_NO_WARNINGS
#pragma warning (disable:4996)//用來(lái)屏蔽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 << "請(qǐng)輸入要查詢(xún)的單詞:" << endl;
		cin >> word;
		int res = wordDict.count(word);
		if (res == 0)
		{
			cout << "未查詢(xún)到該單詞!" << endl;
		}
		else
		{
			cout << "單詞說(shuō)明如下:" << endl;
			cout << wordDict[word] << endl;
		}
	}
 
	return 0;
}

效果圖

電子詞典的文件截圖:

運(yùn)行結(jié)果:

到此這篇關(guān)于C++使用map容器實(shí)現(xiàn)電子詞典的文章就介紹到這了,更多相關(guān)C++ map電子詞典內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論