【模板】输入输出流

要点:零活运用cin.get()、getline(),特别学会使用输入输出流

vector<double> Fdepart_string(string data)
{
    int i, j;
    int kinds = 1;
    vector<string> part;
    string A_part;
    stringstream room;
    room.str(data);
    while (room >> A_part)
        part.push_back(A_part);
    if (kinds == 1)
    {
        for (i = 0; i < part.size(); i++)
        {
            double num_cahe;
            char str_cahe[20];
            num_cahe = atof(part[i].c_str());
            sprintf(str_cahe, "%g", num_cahe);
            part[i] = str_cahe;
        }
    }
    vector<double> ans2;
    double ans_double;
    for (i = 0; i < part.size() - 1; i++)
    {
        ans_double = atof(part[i].c_str());
        ans2.push_back(ans_double);
    }
    return ans2;
}
vector<string> depart_string(string data, int kinds)
{
    int i, j;
    vector<string> part;
    string A_part;
    stringstream room;
    room.str(data);
    while (room >> A_part)
        part.push_back(A_part);
    if (kinds == 1)
    {
        for (i = 0; i < part.size(); i++)
        {
            double num_cahe;
            char str_cahe[20];
            num_cahe = atof(part[i].c_str());
            sprintf(str_cahe, "%g", num_cahe);
            part[i] = str_cahe;
        }
    }
    return part;
}
int main()
{
    int kinds;
    string s1,s2;
    cin >> kinds;
    cin.get();
    //---------------
    getline(cin, s1);
    getline(cin, s2);
    //---------------
    vector<string> data1, data2;
    data1 = depart_string(s1, kinds);
    data2 = depart_string(s2, kinds);
    //--------------
    cout << endl;
    if(kinds!=1)
        cout << ListCompare(data1, data2) << endl;
    else
    {
        vector<double> f1, f2;
        f1 = Fdepart_string(s1);
        f2 = Fdepart_string(s2);
        cout << ListCompare(data1, data2) << endl;
    }
    return 0;
}
View Code

 

posted @ 2021-04-11 18:40  bear_xin  阅读(57)  评论(0)    收藏  举报