第十六周实验报告 任务三(改)

来源:互联网 发布:南方cass软件 编辑:程序博客网 时间:2024/05/18 06:19

源程序:

#include <iostream>#include <fstream>#include <iomanip>#include <string>using namespacestd;class Word{public:Word();Word(string w, string t, string ci):word(w), translate(t), wordtype(ci){}string get_word();string get_translate();friend void cin_word(Word w[]);void display();private:string word;string translate;string wordtype;};Word::Word(){word = 'a';translate = 'a';wordtype = 'a';}string Word::get_word(){return word;}string Word::get_translate(){return translate;}void cin_word(Word w[]){ifstream infile("dictionary.txt",ios::in);if(!infile){cerr << "open error!!!";exit(1);}for(int i = 0; i < 8000; ++ i){infile >> w[i].word >> w[i].translate >> w[i].wordtype ;}infile.close();}void Word::display(){cout << word << '\t' << translate << '\t' << wordtype << endl;}int main(){Word w[8000];string chinese;int i;char c;cin_word(w);cout << "欢迎使用电子词典" << endl;while(1){cout << "请选择查询方式:1.英译汉 2.汉译英" ;cin >> c;if(c == '1'){while(1){cout << "请输入要查询单词:(按0退出,按1返回上一层)";cin >> chinese;if(chinese == "0"){exit(0);}if(chinese == "1"){break;}for (i = 0; i < 7964; ++ i){if(chinese == w[i].get_word()){w[i].display();break;}if(i > 7962){cout << "查无此单词!!!" << endl;break;}}}}if(c == '2'){while(1){cout << "请输入要查询汉字:(按0退出,按1返回上一层)";cin >> chinese;if(chinese == "0"){exit(0);}if(chinese == "1"){break;}for (i = 0; i < 7964; ++ i){if(chinese == w[i].get_translate()){w[i].display();break;}if(i > 7962){cout << "查无此词意思!!!" << endl;break;}}}}}system("PAUSE");  return 0;}
截图:


还是没把任务四弄出来····vs2008却被自己搞的无法创建项目了····郁闷····

想改一下任务三来个汉译英····可是有bug····如果一个单词有两个意思·····意思不全输进去的话会出现查无此单词····