当前位置: 首页 > news >正文

做网站首选九零后网络福田手机网站建设

做网站首选九零后网络,福田手机网站建设,如何做网站的维护,承德公司网站建设一: 在本文中,我们将探讨如何在C中使用vector和multimap容器来管理一个简单的员工数据系统。我们将创建一个员工类,随机生成员工数据,将员工分组,并展示各组员工的详细信息。此示例展示了C标准模板库(STL&…

一:

在本文中,我们将探讨如何在C++中使用vectormultimap容器来管理一个简单的员工数据系统。我们将创建一个员工类,随机生成员工数据,将员工分组,并展示各组员工的详细信息。此示例展示了C++标准模板库(STL)的强大功能和灵活性。

1. 定义员工类

我们首先定义一个worker类,包含员工的名字(name)和薪水(salary)。这是一个简单的公有类,成员变量可以直接访问。

class worker {
public:string name;int salary;
};
2. 生成员工数据

使用vector容器来存储worker对象。vector是一种动态数组,提供快速的随机访问和尾部插入删除操作。

createworker函数用于生成10名员工的数据。每名员工的名字是“NAME”后跟一个字母,薪水是随机生成的,范围在10000到19999之间。

void createworker(vector<worker>& v) {string nameseed = "BCDEFGHIJ";for (int i = 0; i < 10; i++) {worker worker1;worker1.name = "NAME";worker1.name += nameseed[i];worker1.salary = rand() % 10000 + 10000;v.push_back(worker1);}
}
3. 分组存储

multimap容器用于按组存储员工数据。multimap是允许键重复的排序关联容器,非常适合管理具有自然分组但又需要排序的数据。

我们将员工随机分为三组(ART, SCIENCE, MATH)。setgroup函数将vector中的每个员工根据随机生成的组号插入到multimap中。

void setgroup(vector<worker>& v, multimap<int, worker>& m) {for (vector<worker>::iterator it = v.begin(); it != v.end(); it++) {int group = rand() % 3 + 1;  // 1-3的组号m.insert(make_pair(group, *it));}
}
4. 显示分组数据

最后,我们通过showworker函数来展示各组的员工数据。对于每一组,我们首先查找该组的第一个员工,然后遍历该组所有员工,打印他们的名字和薪水。

void showworker(multimap<int, worker>& m) {cout << "ART:" << endl;displayGroup(m, ART);cout << "SCIENCE:" << endl;displayGroup(m, SCIENCE);cout << "MATH:" << endl;displayGroup(m, MATH);
}void displayGroup(multimap<int, worker>& m, int groupID) {auto pos = m.find(groupID);int num = m.count(groupID);for (int index = 0; pos != m.end() && index < num; index++, pos++) {cout << "NAME:  " << pos->second.name << " salary:   " << pos->second.salary << endl;}cout << "--------------------------------------------" << endl;
}
5. 主函数

main函数中,我们初始化随机数生成器,创建员工vector,设置员工分组,并展示所有组的员工信息。

int main() {srand((unsigned int)time(NULL));vector<worker>v;createworker(v);multimap<int, worker>m;setgroup(v, m);showworker(m);return 0;
}

结论

这个示例展示了如何使用C++ STL的vectormultimap容器来管理和展示复杂数据。通过这种方式,我们可以有效地组织数据,并利用容器自带的功能来简化代码和提高效。

二、完整代码

#define ART 1
#define SCIENCE 2
#define MATH 3
class worker
{
public:string name;int salary;
};
void createworker(vector<worker>& v)
{string nameseed = "BCDEFGHIJ";for (int i = 0; i < 10; i++){worker worker1;worker1.name = "NAME";worker1.name += nameseed[i];worker1.salary = rand() % 10000 + 10000;v.push_back(worker1);}
}
void setgroup(vector<worker>& v, multimap<int, worker>& m)
{for (vector<worker>::iterator it = v.begin(); it != v.end(); it++){int group = rand() % 3+1;m.insert(make_pair(group, *it));}
}
void showworker(multimap<int, worker>& m)
{cout << "ART:" << endl;multimap<int, worker>::iterator pos = m.find(ART);int num = m.count(ART);int index = 0;for (; pos != m.end() && index != num; index++, pos++){cout << "NAME:  " << pos->second.name << "salary:   " << pos->second.salary << endl;}cout << "-------------------------------------------- - " << endl;cout << "SCIENCE:" << endl;multimap<int, worker>::iterator pos1 = m.find(SCIENCE);int num1 = m.count(SCIENCE);int index1 = 0;for (; pos1 != m.end() && index1 != num1; index1++, pos1++){cout << "NAME:  " << pos1->second.name << "salary:   " << pos1->second.salary << endl;}cout << "-------------------------------------------- - " << endl; cout << "MATH:" << endl;multimap<int, worker>::iterator pos2 = m.find(MATH);int num2 = m.count(MATH);int index2 = 0;for (; pos2 != m.end() && index2 != num2; index2++, pos2++){cout << "NAME:  " << pos2->second.name << "salary:   " << pos2->second.salary << endl;}
}
int main()
{srand((unsigned int)time(NULL));vector<worker>v;createworker(v);multimap<int, worker>m;setgroup(v,m);showworker(m);return 0;
}

http://www.yayakq.cn/news/49444/

相关文章:

  • 网站建设应计入哪个会计科目西安效果图制作
  • 安远网站制作wordpress要装在根目录
  • 上海城乡建设厅网站seo优化排名易下拉用法
  • 外包优化网站施工企业如何节约人力成本
  • 连云港网站开发网站转备案
  • 网站建设没有签定合同h5可以用什么网站做
  • 深圳分销网站制作网页设计html代码大全图片
  • 重庆招聘网站有哪些有个人代做网站的吗
  • 做爰直播网站常州微信网站建设价位
  • 青岛网站建设 推荐青岛博采网络网站开发教程 模板
  • 京山网站开发从零开始学做网站 网站
  • 百度seo站长宣传片制作的十大步骤
  • 天津网站建设公司电扬郑州艾特软件 网站建设
  • 服务性企业网站wordpress编辑器富文本
  • 怎么做口子推广网站微信公众号前端开发流程
  • 桂林龙胜网站建设抖音产品推广方案
  • 网站如何百度收入全国大型免费网站建设
  • 如何网站备案如何建设国际网站首页
  • 如何做网站 百度经验太原网站建设电话
  • 网站建议公司客流统计系统厂家
  • 江西建设职业技术学院官方网站企业营销案例
  • html网站素材彩票网站net网站开发
  • 难道做网站的工资都不高吗个人邮箱登录登录入口
  • 网站搜索引擎收录网页设计心得体会结尾
  • 做自媒体哪家网站好12306网站为什么做不好
  • 佛山电子商务网站设计做网站开发用什么APP好
  • 做网站 人工智能网站单个页面301跳转
  • 国外无版权图片网站建立网站买空间哪家好
  • 全球网站流量查询大连做网站一般给多大空间
  • 流量网站应该怎么做百度站长反馈