list8-2.cpp

来自「这是关于VC++中的STL容器的资料,包括了STL容器各个类之间关系以及类的说明」· C++ 代码 · 共 71 行

CPP
71
字号
#include <iterator>
#include <string>
#include <fstream>
#include <deque>
#include <list>
#include <algorithm>
#include <iostream>

using namespace std;

class discard{
    list<string> Keys;
    static float Num;
public:
    discard(void);
    int operator()(string X);
    float number(void);
};

float discard::Num = 0;

discard::discard(void)
{

    ifstream Keyfile("key8-2.txt");
    istream_iterator<string> Inkey(Keyfile);
    istream_iterator<string> eof;
    copy(Inkey,eof,back_inserter(Keys));
    Keyfile.close();

}

int discard::operator()(string X)
{

    int Temp = 0;
    Temp = count(Keys.begin(),Keys.end(),X);
    discard::Num = discard::Num + Temp;
    return Temp;

}

float discard::number(void)
{

    return(discard::Num);

}


void main(void)
{

    float Percent = 0;
    discard Discard;
    ifstream Infile("in8-2.txt");
    ofstream Outfile("out8-2.txt");
    istream_iterator<string> In(Infile),Last;
    ostream_iterator<string> Out(Outfile," ");
    deque<string> Dec;
    copy(In,Last,front_inserter(Dec));
    remove_copy_if(Dec.begin(), Dec.end(),Out, Discard);
    cout.precision(2);
    Percent = (Discard.number() / Dec.size()) * 10;
    cout << Percent << "%";
    Infile.close();
    Outfile.close();

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?