15-5 电子词典

/* 
* Copyright (c) 2012, 烟台大学计算机学院 
* All rights reserved. 
* 作    者:田宇
* 完成日期:2012 年 12 月 9 日 
* 版 本 号:v1.0 
* 
* 输入描述: 
* 问题描述:
* 程序输出:
* 问题分析:
* 算法设计:
*/
#include <fstream>
#include<iostream>
#include<string>
using namespace std;
string e[8000],c[8000]; 
int wordsNum=0; 
int BinSeareh(int low, int high, string k);

int main( )
{
 	string key;  
	ifstream infile("词库.txt",ios::in); 
	if(!infile)     
	{
		cerr<<"open error!"<<endl;
		exit(1);
	}
	while (!infile.eof())
	{
		infile>>e[wordsNum]>>c[wordsNum];
		++wordsNum;
	}
	infile.close();
	do
	{
		cout<<"请输入要查的词(0000结束):";
		cin>>key;
		if (key=="0000")
			break;
		else
		{
			int low=0,high=wordsNum-1; 
			int index=BinSeareh(low, high, key);
			if (index == -1)
				cout<<"查无此词!"<<endl<<endl;
			else
				cout<<key<<"的中文意思是:"<<c[index]<<endl<<endl;
		}
	}
	while(1);
	cout<<"欢迎再次使用!"<<endl<<endl;
	return 0;
}
int BinSeareh(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; 
		else
			low=mid+1;
	}
	return -1; 
}


*心得体会:

额,,,,你懂得。文件放哪去了?不知道。。。。所以,所以,,所以,,,就不输出了。。。。。。。。。。。

你可能感兴趣的:(15-5 电子词典)