/*
Copyright(C)2013,烟台大学计算机学院
All rights reserved.
文件名称:test.cpp
作者:李东奇
完成日期:2013年12月06日
版本号:v1.0
输入描述:输入一个英文单词 ,
问题描述:输出释义,
程序输出:见图 */
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <cstring>
using namespace std;
int search(int low,int high,string k);
string e[10000],c[10000];
int main()
{
int num=0;
ifstream infile("ditionary.txt",ios::in);
if(!infile)
{
cerr<<"open erorr"<<endl;
exit(1);
}
while(infile>>e[num]>>c[num])
{
num++;
}
infile.close();
int low=0,high=num-1,index;
string key;
do
{
cout<<"请输入要查找的词汇(输入0000结束程序):";
cin>>key;
if(key=="0000")
break;
else
{
index=search(low,high,key);
}
if(index==-1)
cout<<"查无此词!"<<endl;
else
{
cout<<key<<"的中文意思为:"<<c[index]<<endl;;
}
}
while(1);
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;
}
else if(e[mid]>k)
{
high=mid-1;
}
else
{
low=mid+1;
}
}
return -1;
}
努力没有白费,终于编出来了,虽然参考了贺老师的样本,但程序是自己一个一个打出来的,继续加油,Fighting!!!