电子词典(一点一滴都是血和泪啊)

/*
 * Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作    者: 霍雨佳
* 完成日期:2013 年12月6日
* 版 本 号:v1.0
* 问题描述:自制简易电子词典。
* 样例输入:able
* 样例输出:
* 问题分析:输入要查的单词,输出该单词的汉语意思。
*/
#include <iostream>
#include <fstream>//操作文件必写
#include <cstdlib>//调用 exit(1)需要包含cstdlib
using namespace std;
string s[8000],a[8000];
int main()
{
    int i=0,sum=0,mid,index=-1;
    string key;                   //key 输入要找的单词
    ifstream infile("f1.txt",ios::in);
    if(!infile)
    {
        cerr<<"open error!"<<endl;
        exit(1);
    }
    while(infile>>a[i]>>s[i])
    {
        i++;
        sum++;                        //共有多少词
    }
    infile.close();
    cout<<"共有英语单词"<<sum<<"个"<<endl;
do
    {
        int low=0,high=sum-1;
        cout<<"请输入要查的词(0000结束):";
        cin>>key;
        if(key=="0000")
        {
            break;
        }
        while(low<=high)
        {
            mid=(low+high)/2;                      //利用二分查找
            if(a[mid]==key)
            {
                index=mid;
                break;
            }
            else if(a[mid]>key)
            {
                high=mid-1;
            }
            else
            {
                low=mid+1;
            }
        }

        if(index==-1)
        {
            cout<<"抱歉查无此词"<<endl<<endl;
        }
        else
        {
            cout<<"该词的汉语意思是:"<<s[index]<<endl<<endl;
        }
    }
    while(1);
        cout<<"欢迎下次使用"<<endl;
    return 0;
}


运行结果:

电子词典(一点一滴都是血和泪啊)_第1张图片

       ~~~~(>_<)~~~~

     想说 能吧这个程序发成博文经历的磨难绝不比唐僧西天取经经历的少

     开始时老提示遇到问题需要关闭,不能出汉语意思,后来参考了老师的,改了几次,居然就可以了,现在也不清楚问什么突然就好了,还是有点迷茫

     这周的项目都经历了好多磨难哦,还好最后都做出来了,恩恩,不错,加油!

 

你可能感兴趣的:(电子词典(一点一滴都是血和泪啊))