第十五周项目五:简单电子词典····暂时先这样吧!有些缺陷,以后再回来完善······

/*
 * Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作    者:王颖
* 完成日期:2013 年 12 月 04 日
* 版 本 号:v1.0
* 输入描述: 无
* 问题描述:简单电子词典
* 程序输出:略
* 问题分析:略
* 算法设计:略
*/
#include <iostream>
#include<fstream>
#include<cstdlib>
#include<string>
using namespace std;
string a[10000],b[10000];         //声明外部变量
int num=0;
int search(int low,int high,string k);
int main()
{
    string key="hello";
    ifstream infile("fun1.txt",ios::in);
    if(!infile)                    //如果打不开,就强行关闭
    {
        cerr<<"error!"<<endl;
        exit(1);
    }
for(int i=0;i<8100;i++)        //将字典读入数组
 {
     infile>>a[i]>>b[i];
     ++num;
 }
    infile.close();          //读入关闭
  do
  {
      cout<<"请输入您要查的词(0000结束):";
      cin>>key;                                  //输入要查的词
      if(key=="0000")
      break;
      else
      {
          int low=0,high=num-1;                //定义low,high的范围
        int s=search(low, high, key);
        if(s==-1)                             //查无此词
        {
             cout<<"error!"<<endl;
        }
        else
        {
            cout<<key<<"的中文意思是:"<<'\t'<<b[s]<<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(a[mid]==k)
        {
            return mid;
        }
        if(a[mid]>k)
       high=mid-1;
        else
        low=mid+1;
    }
return -1;               //查找不到
}


第十五周项目五:简单电子词典····暂时先这样吧!有些缺陷,以后再回来完善······_第1张图片

心得体会:这个词典的缺陷是只能查中文意思,不能查英文意思,还要再思考思考了╮(╯▽╰)╭

你可能感兴趣的:(第十五周项目五:简单电子词典····暂时先这样吧!有些缺陷,以后再回来完善······)