C++项目(游戏角色仓库管理)

#include<iostream>
using namespace std;
#include<string>
#define MAX 6
//设计游戏角色结构体
struct Hero {string name;int gongji;int fangyu;int tili;int tianfu;
};
//设计仓库结构体
struct WareHouse {struct Hero array[MAX];int m_size;
};//1.添加全部游戏角色
void addHero(WareHouse*A526) {//判断仓库是否已满if (A526->m_size > MAX) {cout << "当前仓库游戏角色已满,请开通VIP进行扩容" << endl;}else {//添加游戏角色//姓名string name;cout << "请输入游戏角色名称:";cin >> name;A526->array[A526->m_size].name = name;cout << endl;//攻击int gongji;cout << "请输入游戏角色攻击力:";cin >> gongji;A526->array[A526->m_size].gongji = gongji;cout << endl;//防御int fangyu;cout << "请输入游戏角色防御力:";cin >> fangyu;A526->array[A526->m_size].fangyu = fangyu;cout << endl;//体力int tili;cout << "请输入游戏角色体力值:";cin >> tili;A526->array[A526->m_size].tili = tili;cout << endl;//天赋int tianfu;cout << "请输入游戏角色天赋值:";cin >> tianfu;A526->array[A526->m_size].tianfu = tianfu;cout << endl;}A526->m_size++;system("pause");system("cls");
}//判断英雄角色是否存在
int isExistHero(WareHouse* A526, string name) {for (int i = 0; i < A526->m_size; i++) {if ( A526->array[i].name == name) {return i;}}return -1;system("pause");system("cls");
}//2.显示所有游戏角色信息
void showHero(WareHouse* A526) {//判断游戏仓库是否为空if (A526->m_size == 0) {cout << "当前仓库为空" << endl;}else {for (int i = 0; i < A526->m_size; i++) {cout << "角色名称:" << A526->array[i].name << "\t";cout << "攻击值:" << A526->array[i].gongji << "\t";cout << "防御值:" << A526->array[i].fangyu << "\t";cout << "体力值:" << A526->array[i].tili << "\t";cout << "天赋值:" << A526->array[i].tianfu << endl;}}system("pause");system("cls");
}//3.修改游戏角色信息
void modifyHero(WareHouse* A526) {//判断游戏角色是否存在string name;cout << "请输入您要修改的角色信息" << endl;cin >> name;int ret = isExistHero(A526, name);if (ret != -1) {// 修改姓名string name;cout << "请输入游戏角色新名称:";cin >> name;A526->array[ret].name = name;cout << endl;//修改攻击int gongji;cout << "请输入游戏角色新攻击力:";cin >> gongji;A526->array[ret].gongji = gongji;cout << endl;//修改防御int fangyu;cout << "请输入游戏角色新防御力:";cin >> fangyu;A526->array[ret].fangyu = fangyu;cout << endl;//修改体力int tili;cout << "请输入游戏角色新体力值:";cin >> tili;A526->array[ret].tili = tili;cout << endl;//修改天赋int tianfu;cout << "请输入游戏角色新天赋值:";cin >> tianfu;A526->array[ret].tianfu = tianfu;cout << endl;}else {cout << "当前角色不存在,请重新输入:";}system("pause");system("cls");
}//4.查询游戏角色
void findHero(WareHouse* A526) {cout << "请输入您要查询的游戏角色:";string name;cin >> name;int ret = isExistHero(A526, name);if (ret != -1) {cout << "角色名称:" << A526->array[ret].name << "\t";cout << "攻击值:" << A526->array[ret].gongji << "\t";cout << "防御值:" << A526->array[ret].fangyu << "\t";cout << "体力值:" << A526->array[ret].tili << "\t";cout << "天赋值:" << A526->array[ret].tianfu << endl;}else {cout << "当前游戏角色不存在" << endl;}system("pause");system("cls");
}//5.删除游戏角色
void deleteHero(WareHouse* A526) {cout << "请输入您要删除的游戏角色:";string name;cin >> name;int ret = isExistHero(A526, name);if (ret != -1) {//删除操作for (int i = ret; i < A526->m_size; i++) {A526->array[i] = A526->array[i + 1];}//更新仓库英雄数量A526->m_size--;cout << "删除成功" << endl;}else {cout << "当前游戏角色不存在" << endl;}system("pause");system("cls");
}//主菜单
void showmenu() {cout << "--------------------------------" << endl;cout << "-------1.添加全部角色信息-------" << endl;cout << "-------2.查看游戏角色信息-------" << endl;cout << "-------3.修改游戏角色信息-------" << endl;cout << "-------4.查找游戏角色信息-------" << endl;cout << "-------5.删除游戏角色信息-------" << endl;cout << "-------6.退出游戏角色仓库-------" << endl;cout << "--------------------------------" << endl;
}int main() {//创建游戏角色仓库WareHouse A526;//初始化仓库游戏角色数量A526.m_size = 0;int select = 0;while (1) {showmenu();cout << "请输入您的选择:" << endl;cin >> select;switch (select) {//添加全部角色信息case 1: addHero(&A526);break;//查看游戏角色信息case 2: showHero(&A526);break;//修改游戏角色信息case 3: modifyHero(&A526);break;//查找游戏角色信息case 4: findHero(&A526);break;//删除游戏角色信息case 5: deleteHero(&A526);break;//退出游戏角色仓库case 6:cout << "主人,欢迎下次光临!" << endl;system("pause");return 0;break;default:system("pause");break;}}
}

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

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

相关文章

2024年中国金融行业网络安全研究报告

网络安全一直是国家安全的核心组成部分&#xff0c;特别是在金融行业&#xff0c;金融机构拥有大量的敏感数据&#xff0c;包括个人信息、交易记录、财务报告等&#xff0c;这些数据的安全直接关系到消费者的利益和金融市场的稳定&#xff0c;因此金融行业在网络安全建设领域一…

测试工具记录

1.ios 弱网 1.xcode打开开发者选项 2.开发者选项 -> Network Link Conditioner 字段解释&#xff1a; In Bandwidth&#xff08;入口带宽&#xff09;&#xff1a;用于模拟网络的入口带宽&#xff0c;即数据从网络进入设备的速度。单位Kbps。 In Packet Loss&#xff08;入…

成都市酷客焕学新媒体科技有限公司:助力品牌打破困境!

在数字化浪潮的推动下&#xff0c;营销策略对品牌的发展愈发关键。成都市酷客焕学新媒体科技有限公司&#xff0c;作为短视频营销领域的佼佼者&#xff0c;凭借其卓越的策略和实力&#xff0c;助力众多品牌在信息海洋中脱颖而出&#xff0c;实现品牌的显著增长。 酷客焕学专注于…

计算属性和监听属性

计算属性&#xff08;Computed Properties&#xff09; 定义: 计算属性是基于它们的依赖进行缓存的&#xff0c;只有当依赖发生变化时&#xff0c;它们才会重新计算。这使得计算属性在性能上很有优势&#xff0c;避免了不必要的重复计算。 适用场景: 当你需要根据某个或某些数…

部署八戒-Chat-1.8B 模型

1 简单介绍 八戒-Chat-1.8B 八戒-Chat-1.8B是运用 InternLM2-Chat-1.8B 模型进行微调训练的优秀成果。其中&#xff0c;八戒-Chat-1.8B 是利用《西游记》剧本中所有关于猪八戒的台词和语句以及 LLM API 生成的相关数据结果&#xff0c;进行全量微调得到的猪八戒聊天模型。作为 …

python-使用API

python-使用API 使用github的api-即url地址请求数据 https://api.github.com/search/repositories?qlanguage:python&sortstars #这个调用返回GitHub当前托管了多少个Python项目&#xff0c;还有有关最受欢迎的Python仓库的信息。在浏览器中输入上面地址可以看到该接口&…

论文《Sensor and Sensor Fusion Technology in Autonomous Vehicles: A Review》详细解析

论文《Sensor and Sensor Fusion Technology in Autonomous Vehicles: A Review》详细解析 摘要 该论文对自动驾驶汽车中的传感器和传感器融合技术进行了全面回顾。它评估了各种传感器&#xff08;如相机、LiDAR、雷达&#xff09;的能力和技术性能&#xff0c;并讨论了多传感…

Linux完整版命令大全(二十一)

mkswap 功能说明&#xff1a;设置交换区(swap area)。语  法&#xff1a;mkswap [-cf][-v0][-v1][设备名称或文件][交换区大小]补充说明&#xff1a;mkswap可将磁盘分区或文件设为Linux的交换区。参  数&#xff1a; -c 建立交换区前&#xff0c;先检查是否有损坏的区…

帝国CMS7.5后台登陆显示Cann’t connect to DB解决办法

在帝国根目录中找到/e/config/config.php文件&#xff0c;修改一下数据库账户名和密码即可。 打开你的帝国的根目录,找到/e/config/config.php文件,修改一下数据库账户名和密码改下就ok了,代码如下: //数据库设置 $ecms_config[db][usedb]mysql; //数据库类型 $ecms_config…

什么是死锁?如何预防死锁?

什么是死锁&#xff1f; 死锁是指在并发编程中&#xff0c;两个或多个线程因相互等待对方持有的资源而无法继续执行导致程序不能正常结束的情况。 死锁的四个必要条件 互斥条件&#xff1a;至少有一个资源只能同时被一个线程占用&#xff1b;请求与保持条件&#xff1a;线程…

Ubuntu 安装libpng12的方法

由于新版的Ubuntu源不再包含libpng12&#xff0c;但是一些软件还是依赖libpng12&#xff0c;在网上查了下后有两种方法解决&#xff1a; 添加格外的源&#xff0c;博主用这种方法&#xff0c;还是下载不了&#xff1a; sudo add-apt-repository ppa:linuxuprising/libpng12 s…

fastadmin部署后JSHint报错,导致Config::getValueByName()无法获取到值

问题 解决方案 一、本地 在phpstorm中&#xff0c;依次点击【设置】-【JSHint】-【取消勾选Enable】-【应用】即可。

Vue的父子组件生命周期钩子函数执行顺序 ?

Vue的父子组件生命周期钩子函数的执行顺序可以清晰地分为几个阶段&#xff0c;包括加载渲染过程、更新过程以及销毁过程。以下是详细的解释&#xff1a; 加载渲染过程 父组件的beforeCreate&#xff1a;在父组件实例被创建之前调用。父组件的created&#xff1a;在父组件实例…

惠农云平台对接常见QA

一、开发测试所需信息。 1.网络相关。 需提供环境的ipport&#xff0c;提供域名也需提供对应的ipport&#xff0c;不支持仅提供域名方式&#xff0c;需标明哪个是开发测试环境哪个是生产环境&#xff0c;如果开发测试人员需要本地访问&#xff0c;也需要提供ipport并标明。不…

无需安装的在线PS:打开即用

为什么想用在线PS网页版&#xff1f;Photoshop常用于平面设计&#xff0c;是不少设计师接触过的第一款设计软件。作为一款平面设计工具&#xff0c;ps功能太多&#xff0c;并且没有在线版&#xff0c;这不仅需要设计师花费时间学习软件&#xff0c;还需要设计师具备一定的设计能…

正邦科技(day2)

自动校准 问题&#xff1a;电量不准都可以直接去校准 校准方式&#xff1a;可程式变频电压 问题分析&#xff1a;他是通过软件去自动自动校准的&#xff0c;flash 清空的时候有缓存没有清空&#xff0c;或者互感器没有读取到问题 互感器&#xff1a;电流互感器的作用包括电流测…

JS性能优化之函数唯一标识以及自记忆函数

历史小剧场 朱元璋在平定天下前&#xff0c;曾向谋士征求意见。有一位名叫朱升的学者&#xff0c;告诉朱元璋“高筑墙&#xff0c;广积粮&#xff0c;缓称王”。这条策略在朱元璋最终取得胜利的道路中发挥了重要的作用。 知识铺垫 函数可以像对象一样&#xff0c;动态创建和分配…

c++指针悬空用nullptr还是NULL

在C中&#xff0c;指针悬空&#xff08;dangling pointer&#xff09;是指一个指针指向了曾经有效但现在已经被释放或重新分配的内存。为了避免悬空指针带来的潜在问题&#xff0c;通常的做法是将指针设置为一个明确的无效值&#xff0c;这样在后续使用该指针之前&#xff0c;我…

[AIGC] Nginx反向代理配置实战

Nginx 是一款高性能的 HTTP 和反向代理服务器, 在许多高访问量的网站中应用广泛。其常见用途之一是 “反向代理”, 这意味着它可以将来自客户端的请求分发到背后的多个服务器, 从而负载均衡并提高网站的性能和可靠性。下面&#xff0c;让我们以 mybaidu.com 反向代理到 www.bai…

【DrissionPage爬虫库 1】两种模式分别爬取Gitee开源项目

文章目录 DrissionPage爬虫库简介1. 浏览器操控模式&#xff08;类似于游戏中的后台模拟鼠标键盘&#xff09;2. 数据包收发模式&#xff08;类似于游戏中的协议封包&#xff09; 实战中学习需求&#xff1a;爬取Gitee开源项目的标题与描述解决方案1&#xff1a;用数据包方式获…