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

简介: 笔记

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



 


相关文章
|
监控 关系型数据库 MySQL
C#程序发布时,一定要好好地保护,不然你会后悔的
C#程序发布时,一定要好好地保护,不然你会后悔的
97 0
|
架构师
敲黑板!创业前一定要做的几件事!
敲黑板!创业前一定要做的几件事!
208 0
敲黑板!创业前一定要做的几件事!
|
网络协议 Ubuntu 安全
Linux常用命令速查册,再也不用费脑细胞了
Linux常用命令速查册,再也不用费脑细胞了
438 0
Linux常用命令速查册,再也不用费脑细胞了
|
数据安全/隐私保护
推荐5个神仙软件,个个让你爱不释手
最近陆陆续续收到好多小伙伴的咨询,这边也是抓紧时间整理出几个好用的软件,希望可以帮到大家。
203 0
|
Web App开发 搜索推荐 开发者
上了学这么久,我才知道他们为什么可以这么爽(上)
目录 前情提要 安装插件 1.下载链接 2.安装 遇到无法拖进去怎么办? 3.新的体验
上了学这么久,我才知道他们为什么可以这么爽(上)
|
数据安全/隐私保护
单一职责原则-敲代码你不能只自己爽,大家爽才是真的爽
单一职责原则-敲代码你不能只自己爽,大家爽才是真的爽
116 0
单一职责原则-敲代码你不能只自己爽,大家爽才是真的爽
|
物联网 大数据 数据库
产品:“嘘,这事千万别让开发知道”
作为2019年首场最受瞩目的云计算开发者大会,阿里云火力全开。本次开发者大会聚焦开源大数据、IT基础设施云化、数据库、云原生、物联网五大主力方向。
2207 0

热门文章

最新文章