第17周上机实践项目七——电子词典结构体版
第17周上机实践项目7——电子词典结构体版
运行结果:
问题及代码
/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:辛彬 * 完成日期:2015年 1 月 2 日 * 版 本 号:v1.0 * * 问题描述: 做一个电子词典。 * 输入描述:英文单词。 * 程序输出:释义; */ #include <iostream> #include <cstring> #include <fstream> #include <cstdlib> using namespace std; struct Word { string english; string chinese; string word_class; }; void search(Word [],int); int main() { Word w[8000]; int i,wordNum; ifstream infile("dictionary.txt",ios::in); //以输入的方式打开文件 if(!infile) //测试是否成功打开 { cerr<<"open error!"<<endl; exit(1); } i=0; while(infile>>w[i].english>>w[i].chinese>>w[i].word_class) { ++wordNum; ++i; } infile.close(); search(w,wordNum); return 0; } void search(Word w[],int n) { string words; int high,low,mid; while(cin>>words) { low=0; high=n-1; while(low<=high) { mid=(low+high)/2; if(words==w[mid].english) { cout<<w[mid].word_class<<'\t'<<w[mid].chinese<<endl; break; } else if(words>w[mid].english) low=mid+1; else if(words<w[mid].english) high=mid-1; } if(low>high) cout<<"查无此词!"<<endl; } }
运行结果:
学习感悟:终于做完了,可喜可贺,可喜可贺。。。。。。