6-9 计算捐款总量 (10 分)
这里需要设计一个捐款人类Donator及一个相关函数getMaxName( ),Donator类中包含捐款人的姓名及其捐款额,其部分代码如下:
class Donator{private:string name; //捐款人姓名float money; //捐款金额,单位:元 public:void setName(string _name);void setMoney(float _money);string getName(){return name;}float getMoney(){return money;}
请根据题意将代码补充完整,以输出一批捐款人来到前后的捐款总金额,以及本批次捐款人中捐款最高者的姓名,题目保证捐款人数不少于1人。
裁判测试程序样例:
#include <iostream>
using namespace std;class Donator{private:string name;float money; //单位:元 public:void setName(string _name);void setMoney(float _money);string getName(){return name;}float getMoney(){return money;}/* 你编写的代码将被嵌入这里*///读取n个捐款人的姓名和捐款额
void read(Donator dt[],int n){string name;float money;for(int i=0;i<n;i++){cin>>name>>money;dt[i].setName(name);dt[i].setMoney(money);}
}int main(){int n;cin>>n; 输入本批次将参与的捐款人数cin>>Donator::totalMoney; //输入目前已有的捐款总额 Donator::printTotal();Donator d[n];read(d,n);Donator::printTotal();cout<<getMaxName(d,n)<<endl;//输出本批次中捐款最高者姓名 return 0;
}
输入样例:
第一行为捐款人数及当前的捐款总额,第二行开始每行为一个捐款人的姓名和个人捐款金额。
3 28.5
Xiaoyu 12
Mike 81.5
Joey 50
输出样例:
输出本批次捐款人到达前后的捐款总额,及本批次中捐款最高者的姓名。
total:28.5
total:172
Mike
my answer:
static float totalMoney;static void printTotal(){cout<<"total"<<":"<<Donator::totalMoney<<endl;}
};float Donator:: totalMoney = 0.0;
void Donator :: setName(string _name){name = _name;}
void Donator :: setMoney(float _money){totalMoney += _money;}string getMaxName(Donator d[], int n){float maxmoney = 0;string maxname;for(int i = 0; i < n; i++){if(d[i].getMoney() > maxmoney){//cout<<n;maxmoney = d[i].getMoney();maxname = d[i].getName();}}return maxname;}
编辑setmoney()函数时没有为每个对象中的money赋值,只进行了总捐款量的增加,因此最后的输出结果可能时任意一个人,也可能是空;看来以后进行此类操作时,先为每个类的数据成员赋值再进行其他操作。(蓝桥杯的炸弹问题我也犯了相同错误
6-9 计算捐款总量 (10 分)相关推荐
- 计算捐款总量 (10 分)
计算捐款总量 (10 分) 这里需要设计一个捐款人类Donator及一个相关函数getMaxName( ),Donator类中包含捐款人的姓名及其捐款额,其部分代码如下: class Donator{ ...
- 6-1 计算捐款总量 (10分)
//编者注:考题版权归属版权方,作答代码版权归属编者,请勿私自盗用.本代码仅供参考,还请各位读者不吝赐教. 这里需要设计一个捐款人类Donator及一个相关函数getMaxName( ),Donato ...
- 7-11 分段计算居民水费 (10 分)
7-11 分段计算居民水费 (10 分) 为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3:超过后,y=2.5x ...
- 7-4 计算存款利息(10 分)
7-4 计算存款利息(10 分) 本题目要求计算存款利息,计算公式为interest=money×(1+rate)year−money,其中interest为存款到期时的利息(税前),money ...
- 7-1 计算π的值 (10分)_PTA_Java基础练习
7-1 计算π的值 (10分) 在数学中,我们可以通过π=4╳(1-1/3+1/5-1/7+1/9--1/(2╳n+1)) 来计算,n越大,计算值越靠近.输入正整数n来计算π. 输入样例: 在这里给出 ...
- 计算油费 (10 分)
计算油费 (10 分) 现在90号汽油6.95元/升.93号汽油7.44元/升.97号汽油7.93元/升.为吸引顾客,某自动加油站推出了"自助服务"和"协助服务" ...
- 7-2 计算职工工资 (10分)
7-2 计算职工工资 (10分) 给定N个职员的信息,包括姓名.基本工资.浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出). 输入格式: 输入在一行中 ...
- Python: 7-4 计算个人所得税 (10 分)
Python: 7-4 计算个人所得税 (10 分) 假设个人所得税为:税率×(工资−1600).请编写程序计算应缴的所得税,其中税率定义为: 当工资不超过1600时,税率为0: 当工资在区间(160 ...
- 7-7 计算个人所得税(10 分)
7-7 计算个人所得税(10 分) 假设个人所得税为:税率×(工资−1600).请编写程序计算应缴的所得税,其中税率定义为: 当工资不超过1600时,税率为0: 当工资在区间(1600, 2500]时 ...
最新文章
- rust怎么把门拿下来_皮肤好的女生都是怎么护肤的?快拿小本本记下来
- mxnet基础到提高(40)-ndarray之运算(1)
- android/IOS SDK怎么判断用户是否安装了微信/QQ
- lamp环境搭建经验总结
- 一个简单易用的导出Excel类
- 玩转oracle 11g(17):命令学习5
- JS单引号嵌套的问题,怎么改才能对呢!
- 某云商城发卡网源码 带视频教程
- HDU4607 Park Visit(解法二)【废除!!!】
- 安卓application生命周期的onCreate、onLowMemory、onTrimMemory、onConfigurationChanged
- [转]Javascript 中 String.replace( ) 的妙用
- TextView属性android:ellipsize实现跑马灯效果
- 服务器系统小米随身wifi,win8.1系统安装小米随身wifi驱动详细操作步骤【图文教程】...
- IMDB Top500(世界最佳电影500部)
- 推荐系统实战--movieslens数据集实现UserCF算法
- Science:无氧世界的古菌氨氧化
- 2020牛客暑期多校训练营(第九场)	The Crime-solving Plan of Groundhog
- 最新 | Windows和信创终端都能顺滑使用宁盾802.1X账密认证了
- ajax使用post函数(通过远程 HTTP POST 请求载入信息)
- 清华小学上册计算机教学案例,案例分析 清华小学 罗远琴
热门文章
- oracle 抽样_oracle优化手段--统计信息导出和抽样提取数据
- c语言辅音字符怎么表示,C 语言实例 - 判断元音/辅音
- 字节员工收黑钱、操控抖音热榜,判刑了!
- 设计-由OOiNN设计师精心设计的每一个姓氏的印章
- JSD2204-java基础复习
- SCM供应链系统有什么价值?
- cf修改游戏客户端是什么意思_cf封号原因是非法篡改游戏客户端是什么意思
- 关于投资有哪些不得不读的书籍?
- 服务器虚拟系统无法上网络设置,玩转Windows 2008虚拟机网络设置
- win10 who owns this pc? My organization I own it