第十六周实验报告(3)——Dictionary
来源:互联网 发布:在职医学类研究生知乎 编辑:程序博客网 时间:2024/05/21 08:13
/** 程序头部注释开始* 程序的版权和版本声明部分* Copyright (c) 2012, 烟台大学计算机学院学生 * Copyright (c) 2012, 烟台大学计算机学院学生 * All rights reserved.* 文件名称: Dictionary * 作 者: 李瑞 * 完成日期: 2012 年 6月 9日* 版 本 号: v1.0* 对任务及求解方法的描述部分* 输入描述:…… * 问题描述:…… * 程序输出:……* 程序头部的注释结束*/#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(); } 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; } } string Dictionary::get_e() { return this->e; } string Dictionary::get_c() { return this->c; } string Dictionary::get_w() { return this->w; } 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 ; } /*结果:请输入您要查找的英文单词:absorbabsorb 吸收,专心于 v.请输入您要查找的英文单词:moneymoney 金钱,货币,财富 n.请输入您要查找的英文单词:is未找到该单词!请输入您要查找的英文单词:slipslip 滑,滑行,溜走 v.请输入您要查找的英文单词:*/