15_5英文字典
/** 程序的版权和版本声明部分* Copyright (c)2012, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: array.cpp* 作 者: 纪子龙* 完成日期:2012 年 12月10 日* 版本号: v1.0* 输入描述:无* 问题描述:无*/#include <iostream>#include <string>#include <fstream>using namespace std;string e[8000],c[8000];int wordsnum=0;int search(int low,int high,string k);int main(){string key;ifstream infile("dictionary.txt",ios::in); //以输入的方式打开文件,注意要把文件与c++程序放一块 if(!infile) //测试是否成功打开 { cerr<<"open error!"<<endl; exit(1); }while (!infile.eof()) { infile>>e[wordsnum]>>c[wordsnum]; ++wordsnum; } infile.close(); do{cout<<"输入要查询的词(输入0000)查询结束"<<endl;cin>>key;if(key=="0000")break;else{int low=0,high=wordsnum-1;int index=search(low,high,key);if(index==-1)cout<<"查无此词"<<endl;elsecout<<key<<"的中文意思是:"<<c[index]<<endl;}} while(1); cout<<"欢迎下次使用"<<endl; return 0;}int search(int low,int high,string k){int mid;while(low<=high){mid=(low+high)/2;if(e[mid]==k)return mid;if(e[mid]>k){high=mid-1;}if(e[mid]<k){low=mid+1;}}return -1;} 运行结果: