/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2012, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:字典
* 作 者: 于宸
* 完成日期: 2012 年 06 月 03 日
* 版 本 号: 1.077
* 对任务及求解方法的描述部分
* 输入描述: ......
* 问题描述: ......
* 程序输出: ......
* 程序头部的注释结束
*/
#include<fstream>
#include<iostream>
#include<string>
using namespace std;
class Dictionary
{
public:
void read_dictionary(ifstream & in);
string get_e();
string get_c();
string get_w();
private:
string e;
string c;
string w;
};
void Dictionary::read_dictionary(ifstream & in)
{
in >> this->e >> this->c >> this->w;
}
void readfile(Dictionary * d, int num)
{
ifstream infile( "dictionary.txt", ios::in );
if(!infile)
{
cerr << "open error" << endl;
exit(1);
}
for(int i = 0; i < num; ++i)
{
d[i].read_dictionary(infile);
}
infile.close();
}
string Dictionary::get_e()
{
return this->e;
}
string Dictionary::get_c()
{
return this->c;
}
string Dictionary::get_w()
{
return this->w;
}
void search(string find_word, Dictionary * d, int num)
{
bool flag = false;
for(int i = 0; i < num; ++i)
{
if(d[i].get_e() == find_word)
{
cout << d[i].get_e() << '\t';
cout << d[i].get_c() << '\t';
cout << d[i].get_w() << endl;
flag = true;
break;
}
}
if(flag == false && find_word != "0000")
{
cout << "未找到该单词!" << endl;
}
}
int main()
{
Dictionary dic[8000];
string find_word;
readfile(dic, 8000);
do
{
cout << "请输入您要查找的英文单词: " << endl;
cin >> find_word ;
search(find_word, dic, 8000);
}while(find_word != "0000");
system("pause");
return 0 ;
}