// 本程序实现的是STL的初级学习;
//是关于工资统计的问题
//
#include "stdafx.h"
#include <iostream>
//一下引入STL相关头文件;
#include <vector> //向量容器
#include <algorithm> //通用算法
#include <functional> //原文缺少这个头文件
using namespace std;//STL主键所在的名字空间;
int _tmain(int argc, _TCHAR* argv[])
{
//使用vector容器保护用户输入的数据;
vector<int> vecSalary;
cout << "请输入工资数据,0表示输入结束" << endl;
//用户输入
int nSalary = 0;
do //这个循环方式很好的适应了当前状况;
{
cin >> nSalary;
if (0 == nSalary)
{
break;
}
//将用户输入的数据保存到容器内;
vecSalary.push_back(nSalary);
} while (true);
//使用通用算法cout_if统计vecSalary容器大于1000的元素个数;
int nTotal = count_if(vecSalary.begin(), vecSalary.end(),
bind2nd(greater<int>(),1000));//这里用到了头文件<functional>
//输出结果;
cout << "工作超过1000的员工数是:" << nTotal << endl;
return 0;
}