c++中利用STL实现公司员工分组问题
生活随笔
收集整理的這篇文章主要介紹了
c++中利用STL实现公司员工分组问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include<iostream>using namespace std;
#include<vector>
#include<string>
#include<map>
#include<ctime>
/*
公司招聘了5個員工,5名員工進入公司之后,需要指派員工在那個部門工作
的人員信息:姓名 年齡 電話 工資等組成
通過Multimap進行信息的插入 保存 顯示
分部門顯示員工信息,顯示全部的員工信息
*/
enum{RENLI,YANFA,MEISHU};class Worker
{
public:string m_Name;int m_Money;
};void createWorker(vector<Worker>&v)
{string nameSeed = "ABCDE";for (int i = 0; i < 5; i++){string name = "員工";name += nameSeed[i];int money = rand() % 10000 + 10000;//10000~19999Worker w;w.m_Money = money;w.m_Name = name;v.push_back(w);}
}
void setGroup(vector<Worker>&v,multimap<int,Worker>&m)
{for (vector<Worker>::iterator it = v.begin(); it != v.end(); it++){//隨機產生部門編號int departmentId = rand() % 3;//0 1 2\//將員工分到multimapm.insert(make_pair(departmentId, *it));}
}void showGroup(multimap<int, Worker>&m)
{//人力部門顯示cout << "人力部門員工如下:" << endl;multimap<int,Worker>::iterator pos= m.find(RENLI);int index = 0;int number = m.count(RENLI);for (; pos != m.end(),index<number; pos++,index++){cout << "姓名:" << pos->second.m_Name << "工資:" << pos->second.m_Money << endl;}//0 A B 1 C 2 D Ecout << "-----------------------------" << endl;cout << "研發部門員工如下:" << endl;pos = m.find(YANFA);index = 0;number = m.count(YANFA);for (; pos != m.end(), index<number; pos++, index++){cout << "姓名:" << pos->second.m_Name << "工資:" << pos->second.m_Money << endl;}cout << "-----------------------------" << endl;cout << "美術部門員工如下:" << endl;pos = m.find(MEISHU);index = 0;number = m.count(MEISHU);for (; pos != m.end(), index<number; pos++, index++){cout << "姓名:" << pos->second.m_Name << "工資:" << pos->second.m_Money << endl;}}int main()
{srand((unsigned int)time(NULL));//聲明存放一個員工的容器vector<Worker>v;//創建5名員工createWorker(v);//設置分組//分組的multimap容器multimap<int, Worker>m;setGroup(v, m);//分部門顯示員工showGroup(m);//員工創建測試/*for (vector<Worker>::iterator it = v.begin(); it != v.end(); it++){cout << "姓名:" << it->m_Name << "工資:" << it->m_Money << endl;}*/system("pause");return 0;
}
總結
以上是生活随笔為你收集整理的c++中利用STL实现公司员工分组问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++中容器(STL)的共性与使用的时机
- 下一篇: c++中STL的常用算法--1(函数对象