设为首页 加入收藏

TOP

C++项目实战之演讲比赛流程管理系统(一)
2023-08-26 21:10:35 】 浏览:282
Tags:项目实 程管理

演讲比赛流程管理系统

1. 演讲比赛程序需求

1.1 比赛规则

  1. 学校举行一场演讲比赛,共有12个人参加。比赛共两轮,第一轮为淘汰赛,第二轮为决赛

  2. 每名选手都有对应的编号,如 10001 ~ 10012

  3. 比赛方式:分组比赛,每组6个人

  4. 第一轮分为两个小组,整体按照选手编号进行抽签后顺序演讲

  5. 10个评委分别给每名选手打分,去除最高分和最低分,求得平均分为本轮选手的成绩

  6. 当小组演讲完后,淘汰组内排名最后的三个选手,前三名晋级,进入下一轮的比赛

  7. 第二轮为决赛,前三名胜出

  8. 每轮比赛过后需要显示晋级选手的信息

1.2 程序功能

  • 开始演讲比赛:完成整届比赛的流程,每个比赛阶段需要给用户一个提示,用户按任意键后继续下一个阶段
  • 查看往届记录:查看之前比赛前三名结果,每次比赛都会记录到文件中,文件用.csv后缀名保存
  • 清空比赛记录:将文件中数据清空
  • 退出比赛程序:可以退出当前程序

2. 创建管理类

功能描述:

  1. 提供菜单界面与用户交互

  2. 对演讲比赛流程进行控制

  3. 与文件的读写交互

2.1创建文件

在头文件和源文件的文件夹下分别创建 speechManager.hspeechManager.cpp 文件

2.2 头文件实现

speechManager.h 中设计管理类

代码如下:

#pragma once
class SpeechManager
{
public:

	//构造函数
	SpeechManager();

	//析构函数
	~SpeechManager();
};

2.3 源文件实现

speechManager.cpp 中将构造和析构函数空实现补全

#include "speechManager.h"

SpeechManager::SpeechManager()
{
}

SpeechManager::~SpeechManager()
{
}

至此演讲管理类以创建完毕

3. 菜单功能

功能描述:与用户的沟通界面

3.1 添加成员函数

在管理类 speechManager.h 中添加成员函数 void show_Menu();

//菜单界面
void show_Menu();

3.2 菜单功能实现

在管理类 speechManager.cpp 中实现 show_Menu() 函数

void SpeechManager::show_Menu()
{
	std::cout << "********************************************" << std::endl;
	std::cout << "*************  欢迎参加演讲比赛 ************" << std::endl;
	std::cout << "*************  1.开始演讲比赛  *************" << std::endl;
	std::cout << "*************  2.查看往届记录  *************" << std::endl;
	std::cout << "*************  3.清空比赛记录  *************" << std::endl;
	std::cout << "*************  0.退出比赛程序  *************" << std::endl;
	std::cout << "********************************************" << std::endl;
	std::cout << std::endl;
}

3.3 测试菜单功能

在演讲比赛流程管理系统.cpp中测试菜单功能

代码:

#include <iostream>
#include "speechManager.h"

int main()
{
	SpeechManager spm;
	spm.show_Menu();

	return 0;
}
image-20230817105422542

菜单界面搭建完毕

4. 退出功能

4.1 提供功能接口

在main函数中提供分支选择,提供每个功能接口

代码:

#include <iostream>
#include "speechManager.h"

int main()
{
	SpeechManager spm;
	int choise = 0;

	while (true)
	{
		spm.show_Menu();
		std::cout << "请输入选项: ";
		std::cin >> choise;

		switch (choise)
		{
		case 1:
			break;
		case 2:
			break;
		case 3:
			break;
		case 4:
			break;
		case 0:
			spm.exitSystem();
			break;
		default:
			break;
		}
	}

	return 0;
}

4.2 实现退出功能

speechManager.h 中提供退出系统的成员函数 void exitSystem();

//退出界面
void exitSystem();

speechManager.cpp 中提供具体的功能实现

void SpeechManager::exitSystem()
{
	std::cout << "~欢迎下次使用~" << std::endl;
	system("pause");
	exit(0);
}

4.3测试功能

在main函数分支 0 选项中,调用退出程序的接口

#include <iostream>
#include "speechManager.h"

int main()
{
	SpeechManager spm;
	int choise = 0;

	while (true)
	{
		spm.show_Menu();
		std::cout << "请输入选项: ";
		std::cin >> choise;

		switch (choise)
		{
		case 1:
			break;
		case 2:
			break;
		case 3:
			break;
		case 4:
			break;
		case 0:
			spm.exitSystem();
			break;
		default:
			break;
		}
	}

	return 0;
}

5. 演讲比赛功能

5.1 功能分析

比赛流程分析:

抽签 → 开始演讲比赛 → 显示第一轮比赛结果 →

抽签 → 开始演讲比赛 → 显示前三名结果 → 保存分数

5.2 创建选手类

选手类中的属性包含:选手姓名、分数

头文件中创建 speaker.h 文件,并添加代码:

#
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 1/9/9
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【Qt6】QWidgetAction 的使用 下一篇9.1 C++ STL 排序、算数与集合

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目