/*烟台大学计算机学院学生
*All right reserved.
*文件名称:做一个oop版的电子词典((扩展1)
*作者:杨飞
*完成日期:2014年6月2日
*版本号:v1.0
*对任务及求解方法的描述部分:做一个oop版的电子词典(扩展1)
*我的程序:*/
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <fstream>
#include <cstring>
using namespace std;
class Word
{
private:
string english;
string word_class;
string chinese;
public:
friend istream& operator >>(istream &input,Word &t);
friend ostream& operator <<(ostream &output,Word &t);
string fanhui()
{
return english;
}
void dispay()
{
cout<<chinese<<" ";
};
};
istream& operator >>(istream &input,Word &t)
{
input>>t.english>>t.chinese>>t.word_class;
return input;
}
int main()
{
string n;
Word word[8000];
int m;
cout<<"请输入你想翻译的句子的单词个数!!!"<<endl;
cin>>m;
string word1[m];
int num=0,low,mid,high;
cout<<"请输入句子"<<endl;
ifstream infile("dic.txt",ios::in);
if(!infile)
{
cerr<<"data error!!!"<<endl;
exit(1);
}
while(!infile.eof())
{
infile>>word[num];
num++;
}
infile.close();
int w=0;
while(cin>>word1[w])
{
if(word1[w]=="1111")
{
break;
}
else
{
high=num;
low=0;
mid=(high+low)/2;
while(low<high&&word[mid].fanhui()!=word1[w])
{
if(word[mid].fanhui()<word1[w])
{
low=mid+1;
}
if(word[mid].fanhui()>word1[w])
{
high=mid-1;
}
mid=(high+low)/2;
}
if(word[mid].fanhui()!=word1[w])
{
cout<<"查无此词!"<<endl;
}
else
{
word[mid].dispay();
}
}
w++;
cout<<"(退出 请按1111)"<<endl;
}
return 0;
}
做一个oop版的电子词典(扩展1)
最新推荐文章于 2024-11-15 00:37:44 发布
本文介绍了一个使用面向对象编程(OOP)实现的简易电子词典项目。该项目通过C++编程语言实现,能够读取词典文件并为用户提供英语单词查询功能。用户可以输入待查询的单词,程序会返回对应的中文释义。
298

被折叠的 条评论
为什么被折叠?



