【电子词典】

该程序利用C++编程语言,通过读取dict.txt文件构建一个map数据结构来存储中英文词汇对。用户可以输入单词进行查询,程序会返回单词的解释。如果单词不存在于字典中,程序将提示未找到相应单词。
摘要由CSDN通过智能技术生成

##电子词典

#pragma warning (disable:4996)
#include<iostream>
#include<map>
#include<fstream>
#include<string>
using namespace std;
int main()
{
	//创建一个map容器用来存放中英文数据
	map<string, string> word_map;
	fstream fd;
	//打开文件
	fd.open("dict.txt", fstream::in);
	char str[100] = { 0 };
	char key[20] = { 0 };
	char value[50] = { 0 };
	//peek()读取下一个字符,只要没读完就一直读
	while (fd.peek() != EOF)
	{
		//按行读取文件中的内容
		fd.getline(str, 100);
		//将读取到的数据通过sscanf函数进行拆分,以空格作为分割,分别放到key,value数组中
		sscanf(str, "%s %s", key, value);
		//再把key,value存到map容器中
		word_map.insert(pair<string, string>(key, value));
	
	}
	string word;
	while (1)
	{
		cout << "请输入要查询的单词:" << endl;
		cin >> word;
		//count(key)通过key去查找,查找成功返回1,找不到则返回0
		int ret = word_map.count(word);
		if (ret == 0)
		{
			cout << "未查询到该单词!" << endl;
		}
		else
		{
			cout << "单词解释如下:" << endl;
			//通过[key]去访问map容器中的数据
			cout << word_map[word] << endl;
		}
	}

	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值