IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++员工岗位管理排序系统 -> 正文阅读

[C++知识库]C++员工岗位管理排序系统

代码

#include<iostream>
#include<vector>
#include<set>
#include<string>
#include<ctime>
#include<cstdlib>//一大堆头文件 
using namespace std;
class worker{
	public:
		worker(char n, int p, string g){//赋值构造函数 
			name = n;
			pay = p;
			gw = g;
		}
		char name;//名字(以大写字母做代号) 
		int pay;//月薪 
		string gw;//岗位,分为策划、美术、研发 
};
class so{//作为工具人的仿函数类 
	public:
		bool operator()(const worker w1, const worker w2)const{
			return w1.pay > w2.pay;//依照工人月薪降序排序 
		}
};
int main(){
	srand((unsigned int)time(NULL));//随机数种子 
	vector<worker> w;//总工人表 
	vector<string> s;//岗位表 
	s.push_back("策划");
	s.push_back("美术");
	s.push_back("研发");
	char a = 65;//初始值为A,最高到J 
	for (int i = 0; i < 10; i++){
		worker p(a,rand()%10000+2000, s.at(rand()%3));
		w.push_back(p);
		a++;
	}//随机放进工资(最低2000,最高12000,可自行改动)、岗位,
	vector<worker> c, m, y;//分组为策划、美术、研发 
	for (vector<worker>::iterator it = w.begin(); it != w.end(); it++){//放入数据 
		if ((*it).gw.compare("策划") == 0){//compare即为将两个字符串比较,全等返回0 
			c.push_back(*it);
		}
		else if ((*it).gw.compare("美术") == 0){
			m.push_back(*it);
		}
		else{
			y.push_back(*it);
		}
	}
	set<worker, so> h, u, f;//set排序 
	for (int i = 0; i < c.size(); i++)
	{
		h.insert(c[i]);
	}
	for (int i = 0; i < m.size(); i++)
	{
		u.insert(m[i]);
	}
	for (int i = 0; i < y.size(); i++)
	{
		f.insert(y[i]);
	}
	//逐个插入 
	for (set<worker,so>::iterator it = h.begin(); it != h.end(); it++)
	{
		cout << "名字:" << (*it).name << " 岗位:" << (*it).gw << " 工资:" << (*it).pay << endl;
	}
	for (set<worker,so>::iterator io = u.begin(); io != u.end(); io++)
	{
		cout << "名字:" << (*io).name << " 岗位:" << (*io).gw << " 工资:" << (*io).pay << endl;
	}
	for (set<worker,so>::iterator iy = f.begin(); iy != f.end(); iy++)
	{
		cout << "名字:" << (*iy).name << " 岗位:" << (*iy).gw << " 工资:" << (*iy).pay << endl;
	}//逐个输出 
	return 0;
} 

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-10 14:21:50  更:2021-07-10 14:22:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 5:22:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码