在speechManager.cpp中提供具体的功能实现
void SpeechManager::exitSystem()
{
cout << “欢迎下次使用” << endl;
system(“pause”);
exit(0);
}
[](()5.3测试功能
在main函数分支 0 选项中,调用退出程序的接口
运行测试效果如图:
[](()6、演讲比赛功能
[](()6.1 功能分析
比赛流程分析:
抽签 → 开始演讲比赛 → 显示第一轮比赛结果 →
抽签 → 开始演讲比赛 → 显示前三名结果 → 保存分数
[](()6.2 创建选手类
-
选手类中的属性包含:选手姓名、分数
-
头文件中创建 speaker.h文件,并添加代码:
#pragma once
#include
using namespace std;
class Speaker
{
public:
string m_Name; //姓名
double m_Score[2]; //分数 最多有两轮得分
};
[](()6.3 比赛
[](()6.3.1 成员属性添加
- 在speechManager.h中添加属性
//比赛选手 容器 12人
vectorv1;
//第一轮晋级容器 6人
vectorv2;
//胜利前三名容器 3人
vectorvVictory;
//存放编号 以及对应的 具体选手 容器
map<int, Speaker> m_Speaker;
[](()6.3.2 初始化属性
- 在speechManager.h中提供开始比赛的的成员函数
void initSpeech();
//初始化属性
void initSpeech();
- 在speechManager.cpp中实现
void initSpeech();
void SpeechManager::initSpeech()
{
//容器保证为空
this->v1.clear();
this->v2.clear();
this->vVictory.clear();
this->m_Speaker.clear();
//初始化比赛轮数
this->m_Index = 1;
}
- SpeechManager构造函数中调用
void initSpeech();
SpeechManager::SpeechManager()
{
//初始化属性
this->initSpeech();
}
[](()6.3.3 创建选手
- 在speechManager.h中提供开始比赛的的成员函数
void createSpeaker();
//初始化创建12名选手
void createSpeaker();
- 在speechManager.cpp中实现
void createSpeaker();
void SpeechManager::createSpeaker()
{
string nameSeed = “ABCDEFGHIJKL”;
for (int i = 0; i < nameSeed.size(); i++)
{
string name = “选手”;
name += nameSeed[i];
Speaker sp;
sp.m_Name = name;
for (int i = 0; i < 2; i++)
{
sp.m_Score[i] = 0;
}
//12名选手编号
this->v1.push_back(i + 10001);
//选手编号 以及对应的选手 存放到map容器中
this->m_Speaker.insert(make_pair(i + 10001, sp));
}
}
- SpeechManager类的 构造函数中调用
void createSpeaker();
SpeechMana