第十二章作业(1.水果店
第一题
1.1题目描述
问题描述】小明经营着一个不大的水果店,只销售苹果、香蕉和桔子。为了促销,小明制定了如下定价策略:
(1)苹果:按斤论价,每斤P元,买W斤,则需支付W*P元。
(2)香蕉:半价,每斤P元,买W斤,则需支付W/2*P元。
(3)桔子:按斤论价,每斤P元,买W斤。如果W>10,则打半价,即需支付W*P/2元;否则如果W>5,则打八折,即需支付W*P*0.8元;其他情况不打折,即需支付W*P元。
请用C++来计算某个顾客采购的水果的总价。该程序至少应有:
(1)Fruit类:是个抽象类,是Apple、Banana和Orange的父类。支持重载的加法运算。
(2)Apple、Banana和Orange类:分别对应于苹果、香蕉和桔子三种水果,每种水果执行不同的定价策略。
【输入形式】
输入为多行,每行格式为:
C W P
其中C是水果类型(a、b、o分别代表苹果、香蕉和桔子),W和P分别是顾客购买的相应水果的重量和每斤水果的单价。输入完成后输入字符q结束输入。
【输出形式】
输出顾客需支付的总金额。
【样例输入】
a 1 1
b 1 1
o 1 1
q
【样例输出】
2.5
1.2源代码
#include<iostream>
#include<iomanip>
using namespace std;class Fruit
{public:double sum;double kilo;double price;Fruit(double k,double p){sum=0;kilo=k;price=p;}virtual double getsum(){return 0;}void operator+(double m){sum+=m;}void print(){cout<<setiosflags(ios::fixed)<<setprecision(2)<<sum;}
};class Apple:public Fruit
{public:Apple(double k,double p):Fruit(k,p){}double getsum(){return price*kilo;}
};class Banana:public Fruit
{public:Banana(double k,double p):Fruit(k,p){}double getsum(){return price*kilo/2.0;}
};class Orange:public Fruit
{public:Orange(double k,double p):Fruit(k,p){}double getsum(){if(kilo>10){return price*kilo/2.0;}else if(kilo>5){return price*kilo*0.8;}else return price*kilo;}
};int main()
{char t;double k,p;Fruit f(0,0);cin>>t;while(t!='q'){cin>>k>>p;if(t=='a'){Apple a(k,p);f+a.getsum();}if(t=='b'){Banana b(k,p);f+b.getsum(); }if(t=='o'){Orange o(k,p);f+o.getsum();}cin>>t;}f.print();
}
1.3输出样例
似此星辰非昨夜,为谁风露立中宵。 ------黄景仁《绮怀》
第十二章作业(1.水果店相关推荐
- 追风筝的人 第十二章
第十二章 在阿富汗,雅尔达是回历中嘉帝月的第一夜,也是冬天的第一夜,一年之中最长的夜晚.按照风俗,哈桑和我会熬到深夜,我们把脚藏在火炉桌下面,阿里将苹果皮丢进炉子,给我们讲苏丹和小偷的古老传说,度过漫 ...
- 数字图像处理:第二十二章 基于模型的编码
第二十二章基于模型的编码 目录 引言 基于对象的编码 基于模型的编码 作业 1. 引言 为了获得更高的压缩效率并保持一定的视频质量以支持超低码率(大约10kbps)双向视频应用,不考虑内容特点的仅仅针 ...
- 数字图像处理:第十二章 小波变换
第十二章 小波变换 目录 1 引言 2 连续小波变换 3 二进小波变换 3.1 Haar变换 4 离散小波变换 4.1 ...
- 第二十二章:洗净皮衣
第二十二章:洗净皮衣 一种心态,希望找到,另外一种心态,不希望找到,两种心态相互的交织着,让李二陛下的内心相当的痛苦. "你又在这里胡思乱想呢."这个时候长孙皇后走了过来,对着李二 ...
- 人工智能:第十二章 智能控制
第十二章智能控制 教学内容:能控制是一类无需人的干预就能够自主地驱动智能机器实现其目标的过程,也是用机器模拟人类智能的又一重要领域.本章介绍智能控制的基本概念.基本理论.基本方法及应用. 教学重点:智 ...
- linux脚本求命令行上整数和,《Linux命令行与shell脚本编程大全》 第二十二章 学习札记...
<Linux命令行与shell脚本编程大全> 第二十二章 学习笔记 第二十二章:使用其他shell 什么是dash shell Debian的dash shell是ash shell的直系 ...
- 价格奥秘-在超市遇见亚当斯密--第十二章 生活与价格有关,生命不靠金钱决定
第十二章生活与价格有关,生命不靠金钱决定 在毕业典礼这一天,鲁思醒得很早.她查了一下电子邮件,看了助理前一天深夜发来的活动日程.要和鲍勃.巴克曼及艺术与科学系的系主任一起共进早餐.她不知道该怎么办.就 ...
- stm32l0的停止模式怎么唤醒_探索者 STM32F407 开发板资料连载第二十二章 待机唤醒实验
1)实验平台:alientek 阿波罗 STM32F767 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第二十二章 待机唤醒实 ...
- 构建之法第十,十一,十二章阅读
第十章经典用户和场景 虽说经典场景和经典用户很有必要去研究去效仿,但是随着时间发展,新的用户新的需求不断涌现,那该怎么平衡? 第十一章软件设计与实现 软件设计过程中,如何管理设计变更呢? 第十二章用户 ...
最新文章
- c语言数组的一维编程,【C语言】转换一维数组
- udev与devfs文件系统
- webpack打包html里面img后src为“[object Module]”问题
- 调试 Dockerfile - 每天5分钟玩转 Docker 容器技术(15)
- 大数据之-Hadoop3.x_MapReduce_分区数与reduce个数总结---大数据之hadoop3.x工作笔记0113
- android window 半透明,popupWindow半透明背景
- React Native 0.20官方入门教程
- system函数 fork函数
- 让自己的网站可以被搜索
- 赵海平专访【2015-03-26】
- 【转载】通过搜狗站长平台提交网站域名变更后的文章地址
- 根据VendorId 和DeviceId 查看PCI设备的名称
- 软件测试面试题:一个输入手机号获取验证码的页面,说出测试过程
- 向上管理:如何正确汇报工作
- 我们是一个团结、有力、强大的团队
- 计算机外部设备选购及组装
- for循环的三种写法
- 人都有说话的功能,中国人说汉语,美国人说英语,试用多态思想描述这一情形
- 楼市十大卖楼花招曝光
- cyclone v QSPI烧写问题(not able to map flash id)