英语电子词典

/*
 * Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作    者:高古尊
* 完成日期:2013 年 12 月1  日
* 版 本 号:v1.0
*
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:
* 算法设计:
*/
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main()
{
    int i=0;
    string a[10000],b[10000],word;
    ifstream infile("dictionary.txt",ios::in);
    if(!infile)
        cout<<"NO";
    while(infile>>a[i]>>b[i])
    {
        i++;
    }
    infile.close();
    do
    {
        int max=i-1,min=0,mid=i/2;
        cout<<"请输入要查询的单词(输入0000结束):";
        cin>>word;
        if(word=="0000")
            break;
        do
        {
            if(a[mid]==word)
            {
                cout<<b[mid]<<endl;
                break;
            }
            else
            {
                if(word>a[mid])
                {
                    min=mid+1;
                }
                else
                {
                    max=mid-1;
                }
                mid=(max+min)/2;
                if((word>a[max])||(word<a[min]))
                {
                    cout<<"查询无果。"<<endl;
                    break;
                }
            }
        }
        while(1);
    }
    while(1);
    return 0;
}
英语电子词典_第1张图片

你可能感兴趣的:(英语电子词典)