C++菜单查询

定义一个菜品类,包含菜名和菜价两个私有数据成员,设置菜名菜价,输出菜名菜价,获取菜价等共有成员函数。main函数中读入n个菜品的菜名和价格,然后输出菜价低于mprice的所有菜品信息(按输入顺序输出),以及低于此价格最高菜品信息(如果有相同价格的值,则输出最先读入的)。

输入格式:

第一行输入菜品数n(0<n<100),随后n行输入n个菜品的名字和价格,然后下一行输入mprice的值。

输出格式:

输出低于mprice的菜品信息(一行一个),以及低于mprice的价格最高的菜品的信息。

输入样例:

在这里给出一组输入。例如:

5
排骨 9.8
红烧肉 10.5
清蒸鱼 15
大白菜 5.5
鱼香茄子 6.8
10

输出样例:

在这里给出相应的输出。例如:

排骨 9.8
大白菜 5.5
鱼香茄子 6.8
max:排骨 9.8

 思路:

#include<iostream>  // 包含输入输出流头文件
#include<string>     // 包含字符串处理头文件
#include<vector>     // 包含向量容器头文件,用于存储菜单信息
using namespace std; // 使用标准命名空间class menu{  // 定义菜单类
public:menu(string n,double p) // 构造函数,初始化菜品名称和价格:name(n),price(p){} // 使用成员初始化列表初始化成员变量string getname() const{ // 获取菜品名称的成员函数,声明为 const 表示不修改对象状态return name; // 返回菜品名称}double getprice() const{ // 获取菜品价格的成员函数,声明为 const 表示不修改对象状态return price; // 返回菜品价格}
private:string name;  // 私有成员变量,保存菜品名称double price; // 私有成员变量,保存菜品价格
};int main(){ // 主函数int n; // 声明变量n,用于存储菜品数量string name; // 声明变量name,用于临时存储菜品名称double price; // 声明变量price,用于临时存储菜品价格cin>>n; // 输入菜品数量vector<menu> menus; // 声明一个向量容器,用于存储菜单信息for(int i=0;i<n;i++){ // 循环输入菜品信息cin>>name>>price; // 输入菜品名称和价格menus.emplace_back(name,price); // 将菜品信息添加到向量容器中}double x; // 声明变量x,用于存储价格阈值cin>>x; // 输入价格阈值double max=-1; // 声明变量max,用于存储符合条件的菜品中的最高价格,初始化为-1string maxname; // 声明变量maxname,用于存储符合条件的菜品中价格最高的菜品名称for(int i=0;i<n;i++) // 循环遍历菜品信息{if(menus[i].getprice() < x) // 如果当前菜品价格低于阈值x{cout<<menus[i].getname()<<" "<<menus[i].getprice()<<endl; // 输出该菜品信息if(menus[i].getprice() > max) // 如果当前菜品价格大于max{max=menus[i].getprice(); // 更新max为当前菜品价格maxname=menus[i].getname(); // 更新maxname为当前菜品名称}}}cout<<"max"<<":"<<maxname<<" "<<max; // 输出价格最高的菜品信息
}

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

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

相关文章

JavaScript:Object对象的属性方法

Object.defineProperty()方法: Object.defineProperty()方法---为对象添加属性---Vue的源码中经常用到 // 1 Object.defineProperty()方法---为对象添加属性---Vue的源码中经常用到const person {firstName: 呼呼,lastName: 憨憨}// // 为某个对象添加一个属性,并对该属性进…

模板方法模式:定义算法骨架的设计策略

在软件开发中&#xff0c;模板方法模式是一种行为型设计模式&#xff0c;它在父类中定义一个操作的算法框架&#xff0c;允许子类在不改变算法结构的情况下重定义算法的某些步骤。这种模式是基于继承的基本原则&#xff0c;通过抽象类达到代码复用的目的。本文将详细介绍模板方…

NASA数据集——亚洲夏季季风化学与气候影响项目超高灵敏度气溶胶光谱(UHSAS)数据

ACCLIP_Aerosol_AircraftInSitu_WB57_Data 简介 ACCLIP_Aerosol_AircraftInSitu_WB57_Data 是亚洲夏季季风化学与气候影响项目&#xff08;ACCLIP&#xff09;期间收集的原地气溶胶数据。本数据集收录了来自下一代激光质谱仪&#xff08;PALMS-NG&#xff09;、单颗粒烟尘光度…

一文读懂Partisia Blockchain,被严重低估的隐私区块链生态

在今年 3 月&#xff0c;隐私公链 Partisia Blockchain 迎来了重要的进展&#xff0c;该生态通证 $MPC 上线了交易所&#xff0c;目前 $MPC 通证可以在 Kucoin、Gate、BitMart、Bitfinex、Bitture 等平台交易&#xff0c;并将在不久后上线 MEXC 平台。 ​ 在上个月上线市场至今…

AIGC时代 可演进的私有云将蔚然成风

随着AIGC&#xff08;人工智能、大数据、云计算、物联网等技术的融合应用&#xff09;时代的来临&#xff0c;企业面临着前所未有的机遇与挑战。在这一时代背景下&#xff0c;IT基础设施如何平衡新旧资源、如何拥抱新技术应用&#xff0c;成为了企业信息化建设的核心议题。而私…

vim快捷指令

Vim是一款强大的文本编辑器&#xff0c;它提供了许多快捷指令来提高编辑效率。以下是一些常用的Vim快捷指令&#xff1a; 移动光标&#xff1a; h 向左移动一个字符j 向下移动一行k 向上移动一行l 向右移动一个字符w 跳到下一个单词的开头b 跳到前一个单词的开头e 跳到当前单词…

SpringBoot项目快速打印controller类的URL

创建一个配置类&#xff0c;实现WebMvcConfigurer接口&#xff0c;并重写addInterceptors方法来注册一个自定义的RequestMappingHandlerMapping。 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configurati…

华为OD-C卷-小明找位置[100分]

题目描述 小朋友出操,按学号从小到大排成一列; 小明来迟了,请你给小明出个主意,让他尽快找到他应该排的位置。 算法复杂度:不高于 nlog(n); 学号为整数类型,队列规模 ≤ 10000; 输入描述 第一行:输入已排成队列的小朋友的学号(正整数),以空格隔开;例如: 93 9…

springboot项目关闭swagger防止漏洞扫描

为了应对安全扫描&#xff0c;再生产环境下关闭swagger ui 1、项目中关闭swagger 在这里用的是config配置文件的方式关闭的 Configuration EnableSwagger2 public class SwaggerConfig implements WebMvcConfigurer {Value("${swagger.enable}")private Boolean e…

【项目实战】记录一次PG数据库迁移至GaussDB测试(上)

目录 一、说明 1.1、参考文档 1.2、注意事项 1.3、环境基本情况 二、GaussDB新环境安装 2.1 配置操作环境变量 2.1.1 关闭防火墙 步骤1 执行以下命令&#xff0c;检查防火墙是否关闭。 步骤2 执行以下命令&#xff0c;关闭防火墙并禁止开机启动。 步骤3 修改/etc/sel…

Django序列化常用字段与参数

Django序列化常用字段与参数 目录 Django序列化常用字段与参数序列化常见字段序列化常见参数 序列化常见字段 字段含义字段构造方式BooleanField布尔值判断(True/False)BooleanField()NullBooleanField布尔值判断(可以为Null)NullBooleanField()CharField文本字符串CharField(…

MySQL 中datatime 与 timestamp区别

在 MySQL 中&#xff0c;DATETIME 和 TIMESTAMP 是两种用于存储日期和时间的数据类型&#xff0c;它们有以下区别&#xff1a; 存储范围&#xff1a; DATETIME&#xff1a;存储的日期和时间范围从 ‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’。TIMESTAMP&#xff1a;存…

单细胞RNA测序(scRNA-seq)Cellranger流程入门和数据质控

单细胞RNA测序(scRNA-seq)Cellranger流程入门和数据质控 单细胞RNA测序(scRNA-seq)基础知识可查看以下文章: 单细胞RNA测序(scRNA-seq)工作流程入门 单细胞RNA测序(scRNA-seq)细胞分离与扩增 1. 单细胞RNA-seq样本数据说明 样本数据来源文章:Acquired cancer re…

【计算机毕业设计】基于微信小程序的开发项目150套(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f9e1;今天给大家分享200的微信小程序毕业设计&#xff0c;后台用Java开发&#xff0c;这些项目都经过精心挑选&#xff0c;涵盖了不同的实战主题和用例&#xff0c;可做毕业设…

1.点亮第一个LED

#include "reg52.h" sbit LED1P2^0; //将P2.0管脚定义为LED1void main() { LED10; //LED1端口设置为低电平 while(1) { } } 接线说明 为了使LED灯能够正常工作&#xff0c;需要将其正确地连接到单片机的某个输出端口。在这…

【运维笔记】负载均衡的原理与算法——以Nginx为例

一、负载均衡的定义及其重要性 负载均衡是一种广泛应用于数据中心和云计算环境的技术&#xff0c;它能够将工作负载均匀地分配到服务器集群中的多个服务器上。这一技术的核心目的是优化资源利用率&#xff0c;提高服务可靠性&#xff0c;降低响应时间&#xff0c;从而保障网络…

linux c多进程通信之共享内存和信号量

编译环境&#xff1a;Ubuntu16.04 64位 交叉编译工具&#xff1a;arm-hisiv500-linux-gcc 文章目录 1. 项目背景2. 涉及的函数3. 头文件JShm.h4. 类的实现5. sample代码 1. 项目背景 最近项目中需要用到共享内存的交互&#xff0c;取走旧数据&#xff0c;取数据不及时写入覆盖…

MQ概览及Kafka详解

文章目录 概览MQ优点MQ缺点常见MQ对比JMS消息模型点对点模式发布订阅模式 kafka基础架构发布订阅工作流程生产者生产者文件存储生产者分区策略生产者数据可靠性保证生产者数据一致性保证生产者ack机制ExactlyOnce生产者发送消息流程 消费者消费者分区分配策略消费者消费数据问题…

算法设计与分析实验报告c++实现(TSP问题、哈夫曼编码问题、顾客安排问题、最小生成树问题、图着色问题)

一、实验目的 1&#xff0e;加深学生对贪心算法设计方法的基本思想、基本步骤、基本方法的理解与掌握&#xff1b; 2&#xff0e;提高学生利用课堂所学知识解决实际问题的能力&#xff1b; 3&#xff0e;提高学生综合应用所学知识解决实际问题的能力。 二、实验任务 用贪心算…

streamlit 大模型前段界面

结合 langchain 一起使用的工具&#xff0c;可以显示 web 界面 pip install streamlit duckduckgo-search 运行命令 streamlit run D:\Python_project\NLP\大模型学习\test.py import os from dotenv import load_dotenv from langchain_community.llms import Tongyi load…