第十七周项目7 电子词典(还有疑问,求解答)
来源:互联网 发布:nsp网络 编辑:程序博客网 时间:2024/05/29 10:14
要求:
做一个简单的电子词典。在文件dictionary.txt中,保存的是英汉对照的一个词典,词汇量近8000
个,英文、中文释义与词性间用’\t’隔开。
编程序,由用户输入英文词,显示词性和中文释义。
提示1:定义一个Word结构体表示一个词条,其中的数据成员stringenglish; 表示英文单词,stringchinese;表示
对应中文意思,stringword_class;表示该词的词性;定义Wordwords[8000]存放所有词条成员,intwordsNum;表示词
典中的词条数。
提示2:文件中的词汇已经排序,故在查找时,用二分查找法提高效率。
提示3:这样的项目,相关功能用函数实现,最好用多文件的形式组织
提示4:本项目的参考界面和未来的界面可以是下面的样子。不过暂时黑框框吧。
#include <iostream>#include <fstream>using namespace std;struct Dict{ string eng; string cha; string shu;};int main(){ int i,num=0; Dict word[8000]; ifstream infile("dictionary.txt",ios::in); //以输入的方式打开文件 i=0; while(infile>>word[i].eng>>word[i].cha>>word[i].shu) { ++num; ++i; } infile.close(); string Cin; while(cout<<"请输入您要查找的英文单词:",cin>>Cin) { int high=num-1,low=-1; int mid; for(;low<high;) { mid=(high+low)/2; if(word[mid].eng==Cin) break; else { if(word[mid].eng<Cin) low=mid; else high=mid; } } if(low==high) cout<<"抱歉,查无此词"<<endl; else cout<<word[mid].eng<<"<------"<<word[mid].cha<<" "<<word[mid].shu<<endl; } return 0;}
运行结果:
在这个程序中,当输入单词是不正常的,不知道为什么就是跳不出循环,
有人能提示一下吗!
1 0
- 第十七周项目7 电子词典(还有疑问,求解答)
- 第十七周项目7:电子词典-参考答案
- 第十七周项目7-电子词典结构体版
- 第十七周 项目7 电子词典结构体版
- 第十七周 【项目7-电子词典结构体版】
- 第十七周项目 7 电子词典结构体版
- 第十七周项目7-电子词典结构体版
- 第十七周项目7 电子词典结构体版
- 第十七周项目电子词典结构体版
- 第十七周项目七—电子词典
- 第十七周 项目七:电子词典结构体版
- 第九周项目二(求解答)
- 第十六周 项目三:电子词典(二分法)
- 第十六周项目 电子词典
- pimpl思想(还有疑问)
- C primer plus 第八章 例题疑问(递归)(求解答求回复)
- 第十七周项目2-3-求字符串长度(指针做做形参)
- 第十七周项目2-3-求字符串长度(字符数组做形参)
- 引用作形参--输入三个整数,按从大到小排序
- LEETCODE: Unique Paths
- WPF之DataGrid应用
- android 布局相关知识
- eclipse 解决乱码问题
- 第十七周项目7 电子词典(还有疑问,求解答)
- SurfaceView实现视频播放
- HDU 1860 - Currency Exchange(最短路)
- soaplib之model?
- ssh连接linux
- IO的阻塞与非阻塞、同步与异步以及Java网络IO交互方式
- Change checkbox size WPF
- linux的NFS详细配置方法
- 程序员如何快速准备面试中的算法