第十五周项目3-电子词典
来源:互联网 发布:芜湖县淘宝产业园 编辑:程序博客网 时间:2024/06/05 05:53
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: .cpp * 作 者:王英华 * 完成日期:2014年6月8日 * 版本号: v1.0 * 输入描述:电子词典 * 问题描述:略 */#include <fstream>#include<iostream>#include<string>#include<cstdlib>using namespace std;class Word{public:void set(string e, string c, string wc);int compare(string); //英语部分与给定字符串比较,等于返回,大于返回,小于返回-1void display();private:string english;string chinese;string word_class; //词的属性};void Word::set(string e, string c, string wc){english=e;chinese=c;word_class=wc;}int Word::compare(string k){return english.compare(k);}void Word::display(){cout<<english<<'\t'<<word_class<<'\t'<<chinese<<endl<<endl;}int BinSeareh(int low, int high, Word *w, string k);int BinSeareh(int low, int high, Word *w, string k){int mid;while(low<=high){mid=(low + high) / 2;if(w[mid].compare(k)==0){return mid; //查找成功返回}if(w[mid].compare(k)>0)high=mid-1; //继续在w[low..mid-1]中查找elselow=mid+1; //继续在w[mid+1..high]中查找}return -1; //当low>high时表示查找区间为空,查找失败}int main( ){Word words[8000]; //用于保存词库string e,c,wc;string key; //查询关键词int wordsNum=0; //词库中词数 //将文件中的数据读入到对象数组中ifstream infile("dictionary.txt",ios::in); //以输入的方式打开文件if(!infile) //测试是否成功打开{cerr<<"open error!"<<endl;exit(1);}while (!infile.eof()){infile>>e>>c>>wc;words[wordsNum].set(e, c, wc);++wordsNum;} //输入待查关键词并用二分查找法进行查询do{cout<<"请输入待查询的关键词(英文),0000结束:"<<endl;cin>>key;if (key!="0000"){int low=0,high=wordsNum-1; //置当前查找区间上、下界的初值int index=BinSeareh(low, high, words, key);if (index == -1)cout<<"查无此词!"<<endl<<endl;elsewords[index].display();}}while(key!="0000");cout<<"欢迎再次使用!"<<endl<<endl;return 0;}运行结果:
0 0
- 第十五周项目3-电子词典
- 第十五周项目五电子词典
- 第十六周项目3电子词典
- 第十六周项目3-电子词典
- 电子词典(第十五周上机任务)
- C++第16周项目3 -电子词典
- 十五周 项目3 oop版电子词典
- 第16周-项目3-电子词典
- 第16周项目3-电子词典
- 第十六周项目 电子词典
- 第十五周 【项目3
- 第十五周项目3
- 第十五周项目3
- 第十五周项目3:洗牌
- 第15周 项目3 oop版电子词典
- 第14周上机实践项目3——电子词典
- 第14周【项目3-OOP版电子词典】
- 第14周项目3-OOP版电子词典
- 使用窗体控件的几个总结
- Java工具类——全角半角字符相互转换
- linux 学习------win7下U盘安装ubuntu14.04简单记录
- 二、第一个ExtJS程序:helloExtJS
- 统治世界的十大算法
- 第十五周项目3-电子词典
- 学习 OpenGL 和 OpenCL 的互操作性
- 关于hadoop putMerge 出错“wrong FS”问题
- varchar2最大长度的陷阱
- linux读取配置文件(C语言版)
- oj-输出学生信息
- IntelliJ IDEA 13试用手记
- percona-toolkit工具包的使用教程之性能类工具
- Maven配置多个源文件夹