/* * 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; }
运行结果:
~~~~(>_<)~~~~
想说 能吧这个程序发成博文经历的磨难绝不比唐僧西天取经经历的少
开始时老提示遇到问题需要关闭,不能出汉语意思,后来参考了老师的,改了几次,居然就可以了,现在也不清楚问什么突然就好了,还是有点迷茫
这周的项目都经历了好多磨难哦,还好最后都做出来了,恩恩,不错,加油!