Section 1.2 Name That Number

来源:互联网 发布:自学python 编辑:程序博客网 时间:2024/05/18 22:13

一个匹配搜索的问题,不过是我第一次写从文件中即时读取即时搜索。
开始的思路是通过input把number转为name,再进行搜索,后来发现这样不仅费时而且浪费空间;于是采用了把data.txt中的name转化为number,依次与input匹配的方法。

/*ID: alexyua2PROG: namenumLANG: C++*/#include<fstream>#include<string>using namespace std;ifstream fin("namenum.in");ofstream fout("namenum.out");//ifstream fin("in.txt");//ofstream fout("out.txt");ifstream data("dict.txt");int main(){    //get input    string num;    fin>>num;    /*transform every name in dict.txt to number      then compare it with the input*/    string name;    int i;    int state = 0;//no matching    while(data>>name)    {        int len = name.length();        string tempt;        for(i=0;i<len;i++)        {            if(name[i] < 'Q')                tempt.push_back((name[i] - 'A')/3 + '2');            else                tempt.push_back((name[i] - 'Q')/3 + '7');        }        if(tempt == num)        {            state = 1;            fout<<name <<endl;        }        tempt.clear();    }    if(state == 0)        fout<<"NONE" <<endl;    //close files    fin.close();    fout.close();    data.close();    return 0;}
0 0
原创粉丝点击