C++电子宠物商店

一、功能描述

店内有不同类型的电子宠物
1.每种电子宠物能通过显示出来的文本提出需要或表示情绪如:饿、渴、饱涨、困、不舒服、高兴、生气、伤心、绝望、无聊等。
2.店员用户通过键盘操作“饲养”电子宠物,给它实施喂饭、喂水、带它上厕所、陪它玩耍、哄它睡觉,带他看病等动作。当“饲养”不当导致电子宠物“死亡”,程序结束。“饲养”良好,当电子宠物活到指定年限“寿终正寝”。
3.可以购买新的宠物或者售出宠物。
4.可以统计宠物数量、查询宠物状态、价格。
5.为店主设计其它业务或管理功能。

二、项目大概

1.基于Qt框架实现窗口,包括商店登录页面、商店页面、宠物信息页面。
2.建立Pet类,包含饥饿值、心情值等,由其派生出各种类型,如Labrador,Civet…
3.通过信号与槽实现页面跳转、与宠物互动等操作。

三、设计内容

  1. 创建Pet类,设置成员变量和函数,派生出Labrador,Samoyed,Civet,Plush等子类。
  2. 创建ElectronicPetStore(.ui .h .cpp),作为登录页面。点击enter按钮可关闭登录页面且显示商店页面。
  3. 创建MainWindow(.ui .h .cpp),作为商店页面。在其中储存宠物,并且可以通过点击按钮实现买入宠物、照顾宠物、售出宠物、查看所有宠物的信息的操作。
  4. 创建Care(.ui .h .cpp),作为照顾页面,点击按钮将按钮编号传回MainWindow以实现对应操作。
    5.建立main.cpp创建窗口,实现电子宠物商店。

在这里插入图片描述

四、关键代码

#include "Samoyed.h"

Samoyed::Samoyed(int buttonRow, int buttonCol)
{
	x = buttonRow; y = buttonCol;
	//name = s;
	type = "Samoyed";
	hunger = 25, thirsty = 35, urinate = 30;
	feeling = 80, spirit = 92, healthy = 94;
	life = 12;
}

Samoyed::~Samoyed()
{
}

electronicPetStore.sln


Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.33627.172
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "electronicPetStore", "electronicPetStore\electronicPetStore.vcxproj", "{2A7DA5E7-E78F-4E37-91A6-253C63A322F1}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|x64 = Debug|x64
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{2A7DA5E7-E78F-4E37-91A6-253C63A322F1}.Debug|x64.ActiveCfg = Debug|x64
		{2A7DA5E7-E78F-4E37-91A6-253C63A322F1}.Debug|x64.Build.0 = Debug|x64
		{2A7DA5E7-E78F-4E37-91A6-253C63A322F1}.Release|x64.ActiveCfg = Release|x64
		{2A7DA5E7-E78F-4E37-91A6-253C63A322F1}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
	GlobalSection(ExtensibilityGlobals) = postSolution
		SolutionGuid = {2FA01431-2398-4438-AEAE-2D636AB04151}
	EndGlobalSection
EndGlobal

五、项目展示

游戏登录页面

在这里插入图片描述

点击enter按钮进入商店页面,登录页面隐藏
在这里插入图片描述

点击按钮弹出care窗口

在这里插入图片描述

点击pet…按钮弹出Care窗口,选择new…创建宠物

点击其他按钮对宠物进行喂食、喂水、上厕所、玩耍、睡觉、看病、售出操作

在这里插入图片描述

若某处已有宠物再在此新建会弹出错误提示

在这里插入图片描述

宠物状态恢复正常后重新显示默认创建图片

在这里插入图片描述

对第三个宠物进行sell售出,会显示如下图片

创建宠物如下

点击view all 查看所有宠物的状态

在这里插入图片描述


六、联系与交流

q:969060742 完整代码、文档

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3.27作业

1、完成下面类 #include <iostream> #include <cstring> using namespace std;class myString { private:char *str; //记录c风格的字符串int size; //记录字符串的实际长度 public://无参构造myString():size(10){str new char[size]; …

凯撒加密.

题目描述 给定一个单词&#xff0c;请使用凯撒密码将这个单词加密 凯撒密码是一种替换加密的技术&#xff0c;单词中的所有字母都在字母表上向后偏移3位后被替换成密文。即a变为 d&#xff0c;变为e.&#xff0c;w 变为z&#xff0c;2 变为a&#xff0c;y变为 6&#xff0c;z变…

javaWeb项目-大学生体质测试管理系统功能介绍

项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL、MAVEN 数据库工具&#xff1a;Navicat、SQLyog 1、JSP技术 JSP(Jav…

python笔记进阶--面向对象(2)

目录 1.类和对象&#xff08;实例&#xff09; 1.1对象&#xff08;实例&#xff09; 1.1.1使用对象组织数据 1.1.2类中增加属性 1.2成员方法&#xff08;类&#xff09; 1.2.1类的定义和使用语法 1.2.2成员方法的使用 1.2.3self关键字的作用 1.3类和对象 2&#xff…

Mysql各种日志管理

文章目录 事务日志事务日志的记录过程事务日志类型事务日志的相关变量 错误日志二进制日志功能作用文件的构成日志格式查看日志删除日志 通用日志慢查询日志 Mysql日志记录着数据库在运行过程中的各种操作&#xff0c;帮助管理员定位查找问题。 事务日志 事务日志(Transaction…

方案分享 | 嵌入式指纹方案

随着智能设备的持续发展&#xff0c;指纹识别技术成为了现在智能终端市场和移动支付市场中占有率最高的生物识别技术。凭借高识别率、短耗时等优势&#xff0c;被广泛地运用在智能门锁、智能手机、智能家居等设备上。 上海航芯在2015年进入指纹识别应用领域&#xff0c;自研高性…

MySQL的安装(Linux版)

1.所需要的文件 MySQL.zip 2. 卸载自带的Mysql-libs # 查看是否存在 rpm -qa | grep mariadb# 如果存在则执行命令进行卸载 rpm -e --nodeps mariadb-libs3.在/opt目录下创建MySQL目录并上传所需要的安装包 cd /optmkdir MySQL4.按照编号顺序安装&#xff08;压缩包在解压完…

vs2010打包QT程序

一、环境 win10 、 VS2010 、 qt5.7.1 将代码在release模式下运行 运行完后会在相应的文件夹下生成exe文件&#xff0c;也会将部分dll文件拷贝到release文件夹中 二、生成可执行文件 2.1 选择“文件”->“新建”->”项目“ 2.2 在打开的对框中选择”其他类型项目…

视频素材网有哪些?7个优质无水印素材库推荐

当今社会&#xff0c;视频内容已成为最吸引眼球的媒介之一&#xff0c;无论是社交媒体的短视频还是专业制作的影片&#xff0c;都离不开高质量的视频素材。为了帮助你在茫茫网海中找到宝藏&#xff0c;下面我精选了一系列视频素材网站&#xff0c;不仅提供丰富多样的视频资源&a…

(1) 易经与命运_学习笔记

个人笔记&#xff0c;斟酌阅读 占卦的原理 三个铜板&#xff0c;正面是3&#xff0c;反面2&#xff0c;三个一起转&#xff0c;得出6,7,8,9 数字象6老阴7少阳8少阴9老阳 生数和成数 生数和成数应该说出自《河图》。其中一二三四五为生数&#xff0c;六七八九十为成数。 生…

Typst入门简明教程

文章目录 写在前面对比阅读安装Typst的安装系统路径设置VSCode的设置 用Typst写作节指令图指令表指令公式指令参考文献指令引用指令节的标签图、表、公式的标签参考文献的标签 Typst编译 Typst的<label>写法建议写在最后&#xff1a;Typst、LaTex和Word的比较 写在前面 …

面试经典150题【111-120】

文章目录 面试经典150题【111-120】67.二进制求和190.颠倒二进制位191.位1的个数136.只出现一次的数字137.只出现一次的数字II201.数字范围按位与5.最长回文子串97.交错字符串72.编辑距离221.最大正方形 面试经典150题【111-120】 六道位运算&#xff0c;四道二维dp 67.二进制…

未能加载文件或程序集socutdata或它的某一个依赖项试图加载格式不正确的程序

未能加载文件或程序集socut data或它的某一个依赖项试图加载格式不正确的程序 Socut.Data.dll找不到类型或命名空间名称 把bin目录下面 的socut.data.dll删除就行了 C#报错未能加载文件或程序集socut data或它的某一个依赖项试图加载格式不正确的程序 "/"应用程序…

逐步学习Go-并发通道chan(channel)

概述 Go的Routines并发模型是基于CSP&#xff0c;如果你看过七周七并发&#xff0c;那么你应该了解。 什么是CSP&#xff1f; "Communicating Sequential Processes"&#xff08;CSP&#xff09;这个词组的含义来自其英文直译以及在计算机科学中的使用环境。 CSP…

Android Studio详细安装教程及入门测试

Android Studio 是 Android 开发人员必不可少的工具。 它可以帮助开发者快速、高效地开发高质量的 Android 应用。 这里写目录标题 一、Android Studio1.1 Android Studio主要功能1.2 Android应用 二、Android Studio下载三、Android Studio安装四、SDK工具包下载五、新建测试…

Live800:设计与管理客户忠诚度计划,提升客户满意度与忠诚度

在当今竞争激烈的商业环境中&#xff0c;吸引新客户的成本远高于保留现有客户。因此&#xff0c;设计并实施一套有效的客户忠诚度计划&#xff0c;以提升客户满意度和忠诚度&#xff0c;已经成为企业获得长期成功的关键。文章将探讨如何设计和实施客户忠诚度计划&#xff0c;以…

ehters.js:provider

ethers.jsV5.4文档 安装ethers npm install ethers5.4.0// 引入 import { ethers } from ethersProviders /** Provider类* Provider类是对以太坊网络连接的抽象&#xff0c;为标准以太坊节点功能提供简洁、一致的接口。 */ const provider new ethers.providers.Web3Provider…

【QT入门】 Qt代码创建布局之水平布局、竖直布局详解

往期回顾&#xff1a; 【QT入门】 Qt实现自定义信号-CSDN博客 【QT入门】 Qt自定义信号后跨线程发送信号-CSDN博客 【QT入门】 Qt内存管理机制详解-CSDN博客 【QT入门】 Qt代码创建布局之水平布局、竖直布局详解 先看两个问题&#xff1a; 1、ui设计器设计界面很方便&#xf…

Soft Robotics:两栖环境下螃蟹仿生机器人的行走控制

传统水陆两栖机器人依靠轮胎或履带与表面的接触及摩擦产生推进力&#xff0c;这种对于表面接触的依赖性限制了现有水陆两栖机器人在低重力环境下&#xff08;如水中&#xff09;的机动性。利用生物自身的推进机制&#xff0c;人为激发生物运动行为&#xff0c;由活体生物与微机…

第4章:掌握标准提示,输出更精准

标准提示 标准提示&#xff0c;是引导ChatGPT输出的一个简单方法&#xff0c;它提供了一个具体的任务让模型完成。 如果你要生成一篇新闻摘要。你只要发送指示词&#xff1a;“汇总这篇新闻”。 提示公式&#xff1a;生成[任务] 生成新闻文章的摘要&#xff1a; 任务&#x…