<<演讲比赛流程管理系统>>
1.1比赛规则
● 学校举行一场演讲比赛,共有12个人参加,比赛共两轮,第一轮为淘汰赛,第二轮为决赛
每名选手都有对应的编号,如1001`10012
● 比赛方式: 分组比赛,每组6个人,第一次分为两个小组,整体按照选手的编号进行抽签后顺序演讲
● 10个评委分别给每名选手打分,去除最高分和最低分,求平均分为本轮选手的成绩
当小组演讲完后,淘汰组内最后的三名选手,前三名晋级,进入下一轮的比赛
● 第二轮为决赛,前三名胜出,每轮比赛过后需要显示晋级选手的信息
1.2 程序功能
● 开始演讲比赛:完成整届比赛的流程,每个比赛阶段需要给用户一个提示,用户按任意键后继续下一个阶段
● 查看往届记录:查看之前比赛前三名结果,每次比赛都会记录到文件中,文件用.csV后缀名保存
● 清空比赛记录:将文件中数据清空
● 退出比赛程序:可以退出当前程序
程序界面如下:
里面有4个功能,比上次的职工管理系统简单一些,下面我把源代码分享给大家,有兴趣的小伙伴可以复制去玩一下, 在大学有上C++这门课程的,期末交个大作业之类的没啥问题!!!
话不多说,代码给我出来!!!
演讲比赛流程管理系统.cpp
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include"speechManager.h"
using namespace std;
int main()
{
//随机种子
srand((unsigned int)time(NULL));
//创建管理类对象
SpeechManager sm;
//测试12名选手
//for (map<int,Speaker>::iterator it = sm.m_Speaker.begin(); it != sm.m_Speaker.end(); it++)
//{
// cout << "选手编号: " << it->first << " 姓名: " << it->second.m_Name << " 分数: "
// << it->second.m_Score[0] << endl;
//}
//cout << endl;
int choice = 0;//用来存储用户的选择
while (true)
{
sm.showMenu();
cout << "请输入你的选择: " << endl;
cin >> choice;
switch (choice)
{
case 1://开始比赛
sm.startSpeech();
break;
case 2://查看往届记录
sm.showRecord();
break;
case 3://清空比赛记录
sm.clearRecord();
break;
case 0://退出比赛程序
sm.exitSystem();
break;
default:
system("cls");//清屏
break;
}
}
system("pause");
return 0;
}
speechManager.h
#pragma once
#include<iostream>
#include<vector>
#include<map>
#include"speaker.h"
#include<algorithm>
#include"MyPrint.h"
#include<deque>
#include<functional>
#include<numeric>
#include<string>
#include<ctime>
#include<fstream>
using namespace std;
//创建管理类
//功能描述
//1.提供菜单界面与用户交互
//2.对演讲比赛流程进行控制
//3.与文件的读写交互
//设计演讲管理类
class SpeechManager
{
public:
//构造函数
SpeechManager();//.h 文件只做声明,不做实现
//菜单实现
void showMenu();
//退出系统
void exitSystem();
//析构函数
~SpeechManager();
//初始化容器和属性
void initSpeech();
//创建12名选手
void creatSpeaker();
//开始比赛 比赛整个流程控制函数
void startSpeech();
//抽签
void speechDraw();
//比赛
void speechContest();
//显示得分
void showScore();
//保存记录
void saveRecord();
//读取记录
void loadRecord();
//显