打羽毛球也能和C++有关联?C++高级应用程序示例,帮助你在计算机上“打羽毛球”

哇哦!打羽毛球也能和C++有关联?这就让我给你展示一个高级的C++应用程序示例,来帮助你在计算机上“打羽毛球”吧!

首先我们需要创建一个名为“BadmintonGame”的类,它将代表整个羽毛球比赛。该类将包含以下成员变量和成员函数:

成员变量:

  • players: 一个向量(vector),存储比赛中所有参与者的名字。
  • score: 一个整型变量,表示比赛的当前得分。
  • winner: 一个字符串变量,用于记录比赛的胜利者。

成员函数:

  • addPlayer(): 用于添加参与者的函数,接受一个字符串参数(参与者的名字)并将其添加到players向量中。
  • startGame(): 用于开始比赛的函数,打印出比赛开始的信息并初始化score和winner变量。
  • play(): 用于模拟比赛的函数,每次调用该函数时,将随机选择一个参与者并给他们加分,直到某个参与者达到胜利分数(比如得分达到21分)。
  • declareWinner(): 用于宣布胜利者的函数,打印出比赛结束的信息,并显示胜利者的名字和得分。

下面是示例代码:

#include <iostream>
#include <vector>
#include <ctime>
#include <cstdlib>class BadmintonGame {
private:std::vector<std::string> players;int score;std::string winner;public:void addPlayer(const std::string& playerName) {players.push_back(playerName);}void startGame() {score = 0;winner = "";std::cout << "比赛开始!" << std::endl;}void play() {while (true) {int randomIndex = rand() % players.size();score += 1;std::cout << players[randomIndex] << " 加分!" << std::endl;if (score >= 21) {winner = players[randomIndex];break;}}}void declareWinner() {std::cout << "比赛结束!" << std::endl;std::cout << "胜利者是:" << winner << ",得分:" << score << "分!" << std::endl;}
};int main() {srand(time(nullptr));BadmintonGame game;game.addPlayer("小明");game.addPlayer("小红");game.addPlayer("小李");game.startGame();game.play();game.declareWinner();return 0;
}

哇!这个C++程序让我们可以在计算机上模拟一个简单的羽毛球比赛!你可以根据需要添加更多的参与者和自定义的规则。希望这个示例能给你带来好玩和学习的体验!如果你有其他有趣的主题,也可以继续提出来,让我为你创作更多有趣的文章!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/14452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态SQL 语句-更复杂的查询业务需求也能轻松拿捏

文章目录 动态SQL 语句-更复杂的查询业务需求动态SQL-官方文档为什么需要动态SQL动态SQL-基本介绍基本介绍动态SQL 必要性解决方案分析 动态SQL 常用标签动态SQL-案例演示if 标签应用实例where 标签应用实例choose/when/otherwise 应用实例forEach 标签应用实例trim 标签应用实…

电脑重启后VScode快捷方式失效,找不到Code.exe

问题描述 下班回家关了部分程序就直接关机了&#xff0c;回家后重启电脑发现vscode的快捷方式就失效了&#xff0c;提示Code.exe已被移动或删除。 解决方法 查看你的vscode安装目录&#xff0c;Microsoft VS Code目录下大概率会存在一个名为_的文件夹&#xff0c;然后会发现…

【公益】Q学友联合福田人力资源局开展“侨香社区促就业 技能培训强本领”

落实《“十四五”就业促进规划》文件精神&#xff0c;进一步提高就业劳动者就业技能水平&#xff0c;提高居民就业率&#xff0c;侨香社区党委坚持以党建为引领&#xff0c;整合多方资源&#xff0c;深入开展“我为群众办实事”&#xff0c;切合群众实际、满足群众需求&#xf…

深度学习技巧应用24-深度学习手撕代码与训练流程的联系记忆方法

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用24-深度学习手撕代码与训练流程的联系记忆方法,大家都知道深度学习模型训练过程是个复杂的过程,这个过程包括数据的收集,数据的处理,模型的搭建,优化器的选择,损失函数的选择,模型训练,模型评估等步骤,其中缺少…

Tomcat注册为Windows服务

要将Tomcat注册为Windows服务&#xff0c;可以使用Tomcat提供的实用工具service.bat。以下是注册和配置Tomcat作为Windows服务的步骤&#xff1a; 打开命令提示符&#xff08;Command Prompt&#xff09;或 PowerShell&#xff0c;然后进入Tomcat安装目录的"bin"文件…

Java基础_网络编程

Java基础_网络编程 网络编程三要素InetAddress网络模型 UDP通信程序单播发送数据接收数据聊天室 组播广播 TCPTCP通信程序三次握手和四次挥手 来源Gitee地址 网络编程三要素 IP: 设备在网络中的地址&#xff0c;是唯一的标识端口号: 应用程序在设备中唯一的标识。协议: 数据在…

为什么sql语句中where后面不能直接跟分组函数

为什么sql语句中where后面不能直接跟分组函数 当我们错误的使用分组函数之后&#xff0c;mysql会报错&#xff0c;提示“ Invalid use of group function”&#xff0c;这就是今天要说的问题&#xff1a;where后面不能直接跟分组函数。 分组函数有五种count、sum、avg、max、…

【Qt】利用Tool Button控件创建下拉菜单按钮

功能描述 利用qt进行界面设计和开发&#xff0c;创建下拉按钮。 详细实现 1、在qt侧工具栏利用设计打开.ui文件 2、创建按钮 创建一个Tool Button按钮&#xff0c;并在属性窗口中的QToolButton栏中选中MenuButtonPopup属性。 3、创建action 在Action编辑器创建对应的ac…

基于形态学的方法来实现指纹细节的快速细化算法:Python实现及优化策略

尊敬的读者们,大家好,我在这篇文章中将会和大家分享我所探索的一种用于确定指纹细节的快速细化算法。我相信这将对有相同需求的人带来一些启示,同时,我也希望听取大家对我的方法的反馈和建议,帮助我持续改进和优化这个算法。 一、背景与动机 在数字图像处理领域,特别是…

SQL编译优化原理

最近在团队的OLAP引擎上做了一些SQL编译优化的工作&#xff0c;整理到了语雀上&#xff0c;也顺便发在博客上了。SQL编译优化理论并不复杂&#xff0c;只需要掌握一些关系代数的基础就比较好理解&#xff1b;比较困难的在于reorder算法部分。 文章目录 基础概念关系代数等价 j…

k8s webhook实例,java springboot程序实现 对Pod创建请求添加边车容器 ,模拟istio实现日志文件清理

k8s webhook实例&#xff0c;java springboot程序实现 对Pod创建请求添加边车容器 &#xff0c;模拟istio实现日志文件清理 大纲 背景与原理实现流程开发部署my-docker-demo-sp-user服务模拟业务项目开发部署my-sidecar服务模拟边车程序开发部署服务my-docker-demo-k8s-opera…

零拷贝原来这么简单!

我们总会在各种地方看到零拷贝&#xff0c;那零拷贝到底是个什么东西。 接下来&#xff0c;让我们来理一理啊。 拷贝说的是计算机里的 I/O 操作&#xff0c;也就是数据的读写操作。计算机可是一个复杂的家伙&#xff0c;包括软件和硬件两大部分&#xff0c;软件主要指操作系统…

uniapp h5 竖向的swiper内嵌视频实现抖音短视频垂直切换,丝滑切换视频效果,无限数据加载不卡顿

一、项目背景&#xff1a;实现仿抖音短视频全屏视频播放、点赞、评论、上下切换视频、视频播放暂停、分页加载、上拉加载下一页、下拉加载上一页等功能。。。 二、前言&#xff1a;博主一开始一直想实现类似抖音进入页面自动播放当前视频&#xff0c;上下滑动切换之后播放当前…

Mac plist文件

macOS、iOS、iPadOS的应用程序都可能会有plist配置文件&#xff0c;他是苹果系列操作系统特有的配置文件。 plist的本质是个xml格式的文本文件&#xff0c;英文全称是property list&#xff0c;文件后缀使用.plist。 对于普通用户来说&#xff0c;基本不用管plist文件是什么&…

excel要如何自动累加某个单元格上方的所有单元格?

输入公式 SUM(INDIRECT("A1:A"&ROW()-1)) 运行实例如下图 注意图中b4&#xff0c;和b5单元格都输入相同的公式。 此方法可以避免写vba&#xff0c;以前此类问题的解决都是通过vba代码进行处理 对函数进行解析 主要使用了 INDIRECT() 2、公式说明&#xff1a;…

Linux-grep

grep 简介 grep &#xff08;global search regular expression_r(RE) and print out the line,全面搜索正则表达式并把行打印出来&#xff09;是一种强大的文本搜索工具&#xff0c;它能使用 正则表达式搜索文本&#xff0c;并把匹配的行打印出来。Unix的grep家族包括grep、e…

Leetcode | Binary search | 22. 74. 162. 33. 34. 153.

22. Generate Parentheses 要意识到只要还有左括号&#xff0c;就可以放到path里。只要右括号数量小于左括号&#xff0c;也可以放进去。就是valid的组合。recurse两次 74. Search a 2D Matrix 看成sorted list就好。直接用m*n表示最后一位的index&#xff0c;并且每次只需要 …

打印Winform控件实现简陋版的分页打印(C#)

本文的代码可以从这里获取&#xff1a;winformDemo.rar 张祥裕/分享的资源名称 - Gitee.com 作者的水平有限&#xff0c;如有错误&#xff0c;望指正。 为了简单起见&#xff0c;纸张大小&#xff0c;打印机等信息按照默认的来&#xff0c;本文的实现方案是&#xff1a;打印Pa…

C语言:反转一个单链表

Lei宝啊&#xff1a;个人主页 题目&#xff1a; 描述&#xff1a; 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 接口&#xff1a; struct ListNode* reverseList(struct ListNode* head){} 示例&#xff1a; 输入&#xff1a; head [1…

“深入解析SpringBoot:从入门到精通“

标题&#xff1a;Spring Boot&#xff1a;从入门到精通 摘要&#xff1a;本文将深入解析Spring Boot框架&#xff0c;从入门到精通&#xff0c;带你了解Spring Boot的基本概念、核心特性和使用方法&#xff0c;并提供示例代码帮助你快速上手。 正文&#xff1a; 一、什么是S…