• 大小: 1.03MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-08
  • 语言: C/C++
  • 标签: 字典  c++  

资源简介

这是一个用c++实现的模拟字典功能的小程序,主要是用map容器来实现的。

资源截图

代码片段和文件信息

#include
#include
#include
#include
using namespace std;
class Dictionary
{
public:
Dictionary();
~Dictionary()
{}
string Translate(string);
string EnglishToChinese(string);
void AddWord();
private:
map translate_map;
map EngToChi_map;
};
void main()
{
cout<<“************************“< cout<<“\t1:翻译“< <<“\t2:英汉对照“< <<“\t3:添加单词“< <<“\t4:退出“< cout<<“************************“< Dictionary dic;
string word;
//map add_map;
int choice;
do
{
cout<<“请选择你的操作:“< cin>>choice;
switch(choice)
{
case 1:cout<<“输入你要翻译的单词:“< cin>>word;
cout<<“这个单词的意思是:“< break;
case 2:cout<<“输入你要查询的单词:“< cin>>word;
cout<<“这个单词的汉文对照是:“< break;
case 3:
dic.AddWord();
break;
case 4:cout<<“退出系统“< exit(1);
break;
default:cout<<“输入错误!“< exit(1);
break;
}
}while(choice==1 || choice==2 || choice==3 );
}
Dictionary::Dictionary()
{
string Englishword;
string translate;
ifstream infile;
infile.open(“翻译.txt“);
if(!infile)
{
cout<<“ERROR!“< exit(1);
}
while(infile>>Englishword )
{
getline(infiletranslate);
translate_map.insert(map::value_type (Englishwordtranslate));
}
string Chineseword;
ifstream ifile;
ifile.open(“英汉对照.txt“); 
if(!ifile)
{
cout<<“ERROR!“< exit(1);
}
while(ifile>>Englishword>>Chineseword)
{
EngToChi_map.insert(map::value_type(EnglishwordChineseword));
}
infile.close();
ifile.close();
}
string Dictionary::Translate(string word)
{
map::const_iterator          //在字典里查找你要查的英文单词
iter=translate_map.find(word);
if(iter==translate_map.end())
return “没有这个单词“;
else
return iter->second;                  //返回单词的翻译
}
string Dictionary::EnglishToChinese(string word)
{
map::const_iterator    //查找你要找的英文单词 
iter=EngToChi_map.find(word);
if(iter==EngToChi_map.end())
return “没有这个单词“ ;
else
return iter->second;          //返回单词的中文对照
}
void Dictionary::AddWord()
{
//map add_map;
char trans_scd[50];
string trans_firsttrans_second;
string EnToCh_firstEnToCh_second;
cout<<“输入你要添加的单词:“< cin>>trans_first;
    map::const_iterator                   //查找单词是否已经添加
iter=translate_map.find(trans_first);
if(iter==translate_map.end())                    //若没有添加,就添加
{
cout<<“输入单词的解释:“< fflush(stdin);
cin.getline(trans_scd50‘\n‘);
trans_second=(string)trans_scd;
cout<<“输入你要添加的单词:“< cin>>EnToCh_first;
cout<<“输入单词汉语对照:“< cin>>EnToCh_second;
translate_map.insert(map::value_type(trans_firsttrans_second));
EngToChi_map.insert(map::value_type(EnToCh_firstEnToCh_second));
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     445528  2009-10-12 10:52  字典\Debug\dictionary.obj

     文件      99328  2009-10-12 10:52  字典\Debug\vc60.idb

     文件     135168  2009-10-12 10:52  字典\Debug\vc60.pdb

     文件     598062  2009-10-12 10:52  字典\Debug\字典.exe

     文件     866056  2009-10-12 10:52  字典\Debug\字典.ilk

     文件    2682152  2009-10-11 21:25  字典\Debug\字典.pch

     文件    1205248  2009-10-12 10:52  字典\Debug\字典.pdb

     文件       3234  2009-10-12 10:58  字典\dictionary.cpp

     文件       4266  2009-09-18 11:08  字典\字典.dsp

     文件        533  2009-09-18 09:21  字典\字典.dsw

     文件      41984  2009-10-12 10:58  字典\字典.ncb

     文件      48640  2009-10-12 10:58  字典\字典.opt

     文件     104240  2009-10-12 10:52  字典\字典.plg

     文件         64  2009-09-18 21:34  字典\翻译.txt

     文件         36  2009-09-18 11:07  字典\英汉对照.txt

     目录          0  2009-10-14 18:10  字典\Debug

     目录          0  2009-10-14 18:10  字典

----------- ---------  ---------- -----  ----

              6234539                    17


评论

共有 条评论