第十六周任务三(电子词典)
来源:互联网 发布:网络安防报警系统 编辑:程序博客网 时间:2024/06/08 00:56
/*
【任务 3】电子词典
做一个简单的电子词典。在文件 dictionary.txt 中,保存的是英汉对照的一个词典,词汇量近
8000 个,
英文、中文释义与词性间用’\t’隔开。建一个表示词条的类 Word,Word 类的一个对象可以描述一
个词,
类对象数组可以存储词库。将文件中的内容读到对象数组中,由用户输入英文词,显示中文释义。
提示:文件中的词汇已经排序,故在查找时,用二分查找法提高效率。
允许用户运行程序后,连续地查词典,直到输入”0000”结束。
*/
/* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称: dictionary.cpp * 作 者: 计114-4 冯珍珍 * 完成日期: 2012 年 6 月 5 日* 版 本 号: * 程序头部的注释结束*/#include <fstream>#include <iostream>#include <string>using namespace std;class Word{public:string word;string chinese;string paraphrase;};void read_words(int num, Word words[]);void show_word(int index, Word words[]);void find_word(string key, int num, Word words[]);int main( ){Word words[8000];int num = 8000;string key;read_words(num, words);//读入文件中的数据while (true){cout << "请输入要查的单词" << endl;cin >> key;if (key == "0000")break;find_word(key, num, words);}system("PAUSE");return 0;}//定义从文件读入数据函数void read_words(int num, Word words[]){ifstream infile("dictionary.txt", ios::in);if(!infile){cerr << "dictionary.txt open error!" << endl;system("PAUSE");exit(1);}for(int i = 0; i < num; i++){infile >> words[i].word >> words[i].chinese >> words[i].paraphrase;}infile.close();}void show_word(int index, Word words[]){cout << words[index].word << '\t' << words[index].chinese << '\t' << words[index].paraphrase << endl;}void find_word(string key, int num, Word words[]){int min = 0, max = num, mid;while (true){mid = (min+max) / 2;if(words[mid].word == key){show_word(mid, words);break;}else{if(key < words[mid].word){max = mid - 1;}else{min = mid + 1;}}if(min == max + 1){cout << "查无此词!" << endl;break;}}}
- 第十六周任务三(电子词典)
- 第十六周 项目三:电子词典(二分法)
- 第十六周C++【任务三】一个简单的电子词典
- 第十六周C++【任务三】拓展一电子词典
- 第十六周实验报告任务3--电子词典
- 第十六周实验报告三电子词典
- 十六周任务三电子词典
- 第十六周任务(三)
- 第十六周 任务三
- 第十六周 任务三
- 《第十六周实验报告任务3——电子词典》
- 第十六周项目 电子词典
- C++第十六周【任务三】
- 第十六周项目3电子词典
- 第十六周项目3-电子词典
- 第16周任务3(电子词典)
- 电子词典(第十五周上机任务)
- 第十六周实验报告 任务三(最简)
- 实现能动的图形
- 图像及动画处理六:选取器(dataPicker仿苹果)
- 广州传智播客 JAVA就业前景
- android app搜索中模糊匹配的处理
- 堆排序 深刻理解
- 第十六周任务三(电子词典)
- 16岁女孩怀孕她老爸说的8个字 - Qzone日志
- Java实现FTP上传下载功能
- 在代码中实现按下Home键的效果
- Android中利用OnTouchListener在中ImageView中动态显示图片
- 第十五周实验报告一
- XML文件结构
- libxml中的SAX解析器
- PHP 获取服务器ip等详细信息