問題及代碼:
/*。
*Copyright(c)2014,煙台大學計算機學院
*All right reserved,
*檔案名:test.cpp
*作者:liu_feng_zi_
*完成日期:2014年12月25日
*版本号:v1.0
*
問題描述:結構體的電子詞典
*輸入描述:
*程式輸出:
*/
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstring>
using namespace std;
struct Word
{
string english;
string chinese;
string word_class;
};
int main()
{
int i;
string n;
Word words[10000];
ifstream infile("dictionary.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
i=0;
while(infile>>words[i].english>>words[i].chinese>>words[i].word_class)
{
++i;
}
infile.close();
while(cin>>n)
{
int L=0,H=i,M,m=0;
while(L<=H)
{
M=(L+H)/2;
if(words[M].english==n)
{
cout<<words[M].word_class<<" "<<words[M].chinese<<endl;
m=1;
break;
}
else if(words[M].english>n)
H=M-1;
else
L=M+1;
}
if(m==0)
cout<<"查無此詞!"<<endl;
}
return 0;
}
運作結果:
