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

简介: 笔记

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



 


相关文章
|
C语言
无敌!我用【C语言】手搓出了一个体系完整的【员工管理系统】还能玩游戏听音乐?(超详细,附完整源码)
前言:员工管理系统是一款面向公司管理员的管理工具,旨在提供员工信息管理、薪资管理、员工绩效评估、员工福利管理和智能推荐等功能,帮助公司管理员更好地管理员工信息和提高员工工作效率。 这是总体设计大概模型图:
164 0
连夜整理七个开源项目:练手、毕设、接私活都不愁了
项目一:cloud-platform 学习重点: 服务鉴权中心 用户间鉴权 服务之间鉴权 springcloud组件大回顾
|
架构师
敲黑板!创业前一定要做的几件事!
敲黑板!创业前一定要做的几件事!
232 0
敲黑板!创业前一定要做的几件事!
|
人工智能 运维 数据可视化
程序员养家活口接私活必备网站(顺便用技术改变世界)
程序员接私活的原因很多种(挣钱、养家糊口、提升技术等等)。下面整理了一下网站送给最有潜能的你。 提前准备好自己的笔记本和技术呦。
584 0
|
算法 搜索推荐
进入BAT和字节跳动最难的一关,手撕代码!
进入BAT和字节跳动最难的一关,手撕代码!
进入BAT和字节跳动最难的一关,手撕代码!
|
存储 设计模式 自然语言处理
敲黑板了!《行为型模式》来袭
本文主要介绍 软件设计模式中的行为型模式
142 0
|
Web App开发 搜索推荐 开发者
上了学这么久,我才知道他们为什么可以这么爽(上)
目录 前情提要 安装插件 1.下载链接 2.安装 遇到无法拖进去怎么办? 3.新的体验
上了学这么久,我才知道他们为什么可以这么爽(上)
|
安全 Java Devops
1分钟体验代码自动捉虫,Cherry键盘、积木星球抱回家
如今,一款软件的开发往往需要多成员协作开发。 随着人员规模的扩大,如何保证代码的质量和安全,仅靠成员自觉自测,一是花时间,二是质量上难免参差不齐、无法形成统一的流程规范。 引入自动化的代码检测工具,在代码提交时自动检测代码里的缺陷、漏洞等,设定质量卡点等,可以有效提升团队代码的质量和安全,把DevSecOps落到实处。
756 0
1分钟体验代码自动捉虫,Cherry键盘、积木星球抱回家

热门文章

最新文章

相关实验场景

更多