《黑马程序员》演讲比赛管理系统实战

在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值