1028

作者: 峡迩 | 来源:发表于2017-08-21 14:15 被阅读0次

#include "stdafx.h"

#include<iostream>
#include<sstream>
#include<string>
#include<vector>
#include<memory>
#include<fstream>
#include<map>
#include<utility>
#include<algorithm>

class Pat_Input
{
public:
    Pat_Input(std::ifstream &f, unsigned cor) { read_file(f, cor); };
    Pat_Input(std::istream &in, unsigned cor) { read_io(in, cor); }
    const std::vector<std::string> get_info()const { return info; }
private:
    std::vector<std::string> info;
    void read_file(std::ifstream &file, unsigned n);
    void read_io(std::istream &in, unsigned n);

};

void Pat_Input::read_file(std::ifstream &file, unsigned n)
{
    std::string tmp;
    for (unsigned i = 0; i < n; ++i)
    {
        try
        {
            std::getline(file, tmp);
            info.push_back(tmp);
        }
        catch (std::exception &err)
        {
            std::cout << err.what();
        }
    }
}
void Pat_Input::read_io(std::istream &in, unsigned n)
{
    std::string tmp;
    std::getline(in, tmp);
    for (unsigned i = 0; i < n; ++i)
    {
        try
        {
            std::getline(in, tmp);
            info.push_back(tmp);
        }
        catch (std::exception &err)
        {
            std::cout << err.what();
        }
    }
}




using namespace std;

class People_Age
{
public:
    People_Age() = default;

    void insert(const string &n, const string &b)
    {
        if (check(b))
            people.insert(pair<string, string>(n, b));
    }
    string get_max()
    {
        list_a();
        return list_age.back();
    }
    string get_min() { list_a(); return list_age.front(); }
    size_t get_count()const { return people.size(); }

private:
    bool check(const string &burn);
    vector<string> list_a();
    map<string, string> people;
    vector<string> list_age;
};

bool People_Age::check(const string &burn)
{
    string now = "2014/09/06";
    string old = "1814/09/06";
    if (burn<old || burn>now)
        return false;
    else
        return true;
}
vector<string> People_Age::list_a()
{
    vector<pair<string, string>> pv(people.begin(), people.end());
    sort(pv.begin(), pv.end(), [](const pair<string, string> &lhs, const pair<string, string> &rhs) {return lhs.second > rhs.second; });
    for (auto &r : pv)
    {
        list_age.push_back(r.first);
    }
    return list_age;
}

int main()
{
    ifstream file("C:\\Users\\winack\\Documents\\Visual Studio 2017\\Projects\\PAT\\test.txt");
    unsigned n;
    cin >> n;
    //Pat_Input tmp(file, n);
    Pat_Input tmp(cin, n);
    auto info = tmp.get_info();

    People_Age ps;

    string name;
    string burn;
    for (auto &r : info)
    {
        istringstream in(r);
        in >> name >> burn;
        ps.insert(name, burn);
    }

    cout << ps.get_count() << " " << ps.get_max() << " " << ps.get_min();

    return 0;
}

相关文章

  • 月是故乡明,心安是吾乡

    过去的1028天,左右踟躇,千头万绪难抉择;过去的1028天,日夜徘徊,纵有万语难言说;过去的1028天,山重水复...

  • Simplestudio

    Simple Studio1028

  • 【张莉红焦点解决中级9期重庆坚持分享第311天2018.12.3

    再见1028,你好,2019!

  • 1028

    加班到现在,只能说状态如图

  • 1028

    人生,并不全是竞争和利益,更多的是相互成就,彼此温暖!不是没你不行,而是有你真好!

  • 1028

    A:是不是应该适当放慢一下孩子的脚步? M:平时工作很忙,回到家陪孩子和教育孩子的时间不多,常常一急就忘记要多引导...

  • 1028

    田野调查 1、在中国已经教了七年英语的以色列纹身男,和我定见面的时间反复了N次,感觉最终是见不到了。美国科罗拉州丹...

  • 1028

  • 1028

    今天遇到很多不顺 情绪很低

  • 1028

    很久没有写东西。 就感觉很久没有生活过,可能过得太真实,没有诗情画意讲吧。 开始觉得时间是个很重要的命题,它让人变...

网友评论

      本文标题:1028

      本文链接:https://www.haomeiwen.com/subject/qnicdxtx.html