【带你敲】演讲比赛流程管理系统(上)

简介: 笔记

1、 演讲比赛程序需求


1.png


1.1 比赛规则

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

比赛方式:分组比赛,每组6个人;选手每次要随机分组,进行比赛

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

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

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

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

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


1.2 程序功能

开始演讲比赛:完成整届比赛的流程,每个比赛阶段需要给用户一个提示,用户按任意键后继续下一个阶段

查看往届记录:查看之前比赛前三名结果,每次比赛都会记录到文件中,文件用.csv后缀名保存

清空比赛记录:将文件中数据清空

退出比赛程序:可以退出当前程序


1.3 程序效果图:

2.png

2、 项目创建


创建项目步骤如下:


创建新项目

添加文件


2.1 创建项目

打开vs2017后,点击创建新项目,创建新的C++项目

如图:

3.png

填写项目名称以及选取项目路径,点击确定生成项目

4.png

2.2 添加文件

右键源文件,进行添加文件操作

5.png

填写文件名称

生成文件成功,效果如下图

6.png


至此,项目已创建完毕


3、 创建管理类


功能描述:


提供菜单界面与用户交互

对演讲比赛流程进行控制

与文件的读写交互


3.1创建文件

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

7.png

3.2 头文件实现

在speechManager.h中设计管理类


代码如下:


#pragma once
#include<iostream>
using namespace std;
//演讲管理类
class SpeechManager
{
public:
  //构造函数
  SpeechManager();
  //析构函数
  ~SpeechManager();
};


3.3 源文件实现

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

#include "speechManager.h"
SpeechManager::SpeechManager()
{
}
SpeechManager::~SpeechManager()
{
}

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


4、 菜单功能


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


4.1 添加成员函数

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

8.png

4.2 菜单功能实现

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

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

4.3 测试菜单功能

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

代码:

#include<iostream>
using namespace std;
#include "speechManager.h"
int main() {
  SpeechManager sm;
  sm.show_Menu();
  system("pause");
  return 0;
}

运行效果如图:

9.png

菜单界面搭建完毕


5、 退出功能


5.1 提供功能接口

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

代码:


int main() {
  SpeechManager sm;
  int choice = 0; //用来存储用户的选项
  while (true)
  {
  sm.show_Menu();
  cout << "请输入您的选择: " << endl;
  cin >> choice; // 接受用户的选项
  switch (choice)
  {
  case 1:  //开始比赛
    break;
  case 2:  //查看记录
    break;
  case 3:  //清空记录
    break;
  case 0:  //退出系统
    break;
  default:
    system("cls"); //清屏
    break;
  }
  }
  system("pause");
  return 0;
}


5.2 实现退出功能

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


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

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

5.3测试功能

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

10.png

运行测试效果如图:

11.png



 


相关文章
|
前端开发 安全 JavaScript
【实训项目】“我来拿”APP设计
【实训项目】“我来拿”APP设计
137 0
|
数据采集 安全 网络协议
Python3,40行代码写了一个防查岗神器,晚上摸鱼再也不怕老婆查岗了!!
Python3,40行代码写了一个防查岗神器,晚上摸鱼再也不怕老婆查岗了!!
38114 1
Python3,40行代码写了一个防查岗神器,晚上摸鱼再也不怕老婆查岗了!!
|
机器学习/深度学习 人工智能 自然语言处理
【paddlehubOCR项目】网课手酸酸,眼花花,救星来啦!
大家好这里是三岁,今天给大家带来的是在AiStudio项目平台的一个精选项目,虽然很短,但是效果拔群,使用到了最近特别火的paddleOCR~~~
282 0
【paddlehubOCR项目】网课手酸酸,眼花花,救星来啦!
|
架构师
敲黑板!创业前一定要做的几件事!
敲黑板!创业前一定要做的几件事!
214 0
敲黑板!创业前一定要做的几件事!
|
运维 Java Shell
shell基础、脚本设计与运行(少年没有乌托邦,心向远方自明朗)
shell基础、脚本设计与运行(少年没有乌托邦,心向远方自明朗)
173 0
shell基础、脚本设计与运行(少年没有乌托邦,心向远方自明朗)
|
人工智能 运维 数据可视化
程序员养家活口接私活必备网站(顺便用技术改变世界)
程序员接私活的原因很多种(挣钱、养家糊口、提升技术等等)。下面整理了一下网站送给最有潜能的你。 提前准备好自己的笔记本和技术呦。
572 0
|
编解码 Unix Java
直播软件源码开发千万不能忘的一个知识点
对于直播软件源码开发的技术人员来讲,音视频即时通讯技术是需要熟练掌握的。毕竟像直播这样重视互动和实时性的应用场景,即时通讯可以从中起到很大的配合作用。目前市面上有很多服务商所提供的SDK可以帮助实现这一技术,但是在选择哪一家服务商时还需要多下一些功夫才行。本文主要分享一下开发过程中,音视频即时通讯会涉及哪些技术领域。
直播软件源码开发千万不能忘的一个知识点
|
物联网 大数据 数据库
产品:“嘘,这事千万别让开发知道”
作为2019年首场最受瞩目的云计算开发者大会,阿里云火力全开。本次开发者大会聚焦开源大数据、IT基础设施云化、数据库、云原生、物联网五大主力方向。
2207 0

相关实验场景

更多