multimap 案例及代码

    #include
    using namespace std;
    
    #include
    #include
    #include
    #include 
    #include 
    
    //multimap 案例
    //公司招聘了5个员工,5个员工进入公司之后,需要指派员工在哪个部门工作
    //人员信息有:姓名 年龄 电话工资等组成
    //通过 multimap 进行信息的 插入 保存 显示
    //分部门显示员工信息  显示全部员工信息
    
    
    enum {
        RENLI,YANFA,MEISHU
    };
    
    class Worker {
    	public:
    		Worker();
    		~Worker();
    
    
    		string m_Name;
    		int m_Money;
    };
    
    Worker::Worker() {
    
    }
    
    Worker::~Worker() {
    
    }
    
    void creatWorker(vector&v) {
    	string nameSeed = "ABCDE";
    	for (int i = 0; i < 5; i++) {
    		string name = "员工";
    		name += nameSeed[i];
    
    		int money = rand() % 10000 + 10000;//10000~19999
    
    		Worker w;
    		w.m_Name = name;
    		w.m_Money = money;
    		v.push_back(w);
    	}
    
    
    }
    
    void setGroup(vector&v,multimap&m) {
    	for(vector::iterator it=v.begin() ; it!=v.end(); it++) {
    		//随机产生部门编号
    		int departmentId= rand()%3;//0 1 2
    		//将员工分到mulimap 容器中
    		m.insert(make_pair(departmentId,*it));
    
    	}
    }
    
    void showGroup(multimap&m) {
    	//人力部门的显示
    	cout<<"人力部门员工如下:"<::iterator pos=m.find(RENLI);
    	int index=0;
    	int num=m.count(RENLI);
    	for(; pos!=m.end(),indexsecond.m_Name<<"	money:"<second.m_Money<second.m_Name<<"	money:"<second.m_Money<second.m_Name<<"	money:"<second.m_Money<v;
    
    	//创建5名员工
    	creatWorker(v);
    
    	//设置分组
    	//分组的multimap容器
    	multimap m;
    	setGroup(v,m);
    
    	//分部门显示员工
    	showGroup(m);
    
    	//员工创建测试
    //	for (vector::iterator it = v.begin(); it != v.end(); it++)
    //	{
    //		cout << "name:" << it->m_Name << " money:" << it->m_Money << endl;
    //	}
    	system("pause");
    	return 0;
    }

你可能感兴趣的:(学习笔记)