STL综合练习(演讲比赛).zip
1.1 比赛规则
学校举行一场演讲比赛,共有12个人参加。比赛共两轮,第一轮为淘汰赛,第二轮为决赛。
比赛方式:分组比赛,每组6个人;选手每次要随机分组,进行比赛
每名选手都有对应的编号,如 10001 ~ 10012
第一轮分为两个小组,每组6个人。 整体按照选手编号进行抽签后顺序演讲。
当小组演讲完后,淘汰组内排名最后的三个选手,前三名晋级,进入下一轮的比赛。
第二轮为决赛,前三名胜出
每轮比赛过后需要显示晋级选手的信息
1.2 程序功能
开始演讲比赛:完成整届比赛的流程,每个比赛阶段需要给用户一个提示,用户按任意键后继续下一个阶段
查看往届记录:查看之前比赛前三名结果,每次比赛都会记录到文件中,文件用.csv后缀名保存
清空比赛记录:将文件中数据清空
退出比赛程序:可以退出当前程序
C++ STL(vector+multimap容器)案例
公司今天招聘了10个员工,10名员工进入公司之后,需要指派员工在那个部门工作
员工信息有: 姓名 工资组成;
部门分为:策划、美术、研发
随机给10名员工分配部门和工资
通过multimap进行信息的插入 key(部门编号) value(员工)
分部门显示员工信息
实现步骤:
创建10名员工,放到vector中
遍历vector容器,取出每个员工,进行随机分组
分组后,将员工部门编号作为key,具体员工作为value,放入到multimap容器中
分部门显示员工信息
C++ STL案例(vector+deque容器)
案例-评委打分
有5名选手:选手12345,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分。
实现步骤:
创建五名选手,放到vector中
遍历vector容器,取出来每一个选手,执行for循环,可以把10个评分打分存到deque容器中
sort算法对deque容器中分数排序,去除最高和最低分
deque容器遍历一遍,累加总分
获取平均分
C++ 类模板案例实践
实现一个通用的数组类,要求如下:
* 可以对内置数据类型以及自定义数据类型的数据进行存储
* 将数组中的数据存储到堆区
* 构造函数中可以传入数组的容量
* 提供对应的拷贝构造函数以及operator=防止浅拷贝问题
* 提供尾插法和尾删法对数组中的数据进行增加和删除
* 可以通过下标的方式访问数组中的元素
* 可以获取数组中当前元素个数和数组的容量
职工管理系统C++实现
职工管理系统可以用来管理公司内所有员工的信息(利用C++来实现一个基于多态的职工管理系统)
公司中职工分为三类:普通员工、经理、董事长,显示信息时,需要显示职工编号、职工姓名、职工岗位、以及职责
【普通员工职责:完成经理交给的任务】
【经理职责:完成老板交给的任务,并下发任务给员工】
【董事长职责:管理公司所有事务】
管理系统中需要实现的功能如下:
【退出管理程序】:退出当前管理系统
【增加职工信息】:实现批量添加职工功能,将信息录入到文件中,职工信息为:职工编号、姓名、部门编号
【显示职工信息】:显示公司内部所有职工的信息
【删除离职职工】:按照编号删除指定的职工
【修改职工信息】:按照编号修改职工个人信息
【查找职工信息】:按照职工的编号或者职工的姓名进行查找相关的人员信息
【按照编号排序】:按照职工编号,进行排序,排序规则由用户指定
【清空所有文档】:清空文件中记录的所有职工信息 (清空前需要再次确认,防止误删)