这里需要设计一个捐款人类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 分)相关推荐

  1. 计算捐款总量 (10 分)

    计算捐款总量 (10 分) 这里需要设计一个捐款人类Donator及一个相关函数getMaxName( ),Donator类中包含捐款人的姓名及其捐款额,其部分代码如下: class Donator{ ...

  2. 6-1 计算捐款总量 (10分)

    //编者注:考题版权归属版权方,作答代码版权归属编者,请勿私自盗用.本代码仅供参考,还请各位读者不吝赐教. 这里需要设计一个捐款人类Donator及一个相关函数getMaxName( ),Donato ...

  3. 7-11 分段计算居民水费 (10 分)

    7-11 分段计算居民水费 (10 分) 为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3:超过后,y=2.5x ...

  4. 7-4 计算存款利息(10 分)

    7-4 计算存款利息(10 分) 本题目要求计算存款利息,计算公式为interest=money×(1+rate)​year​​−money,其中interest为存款到期时的利息(税前),money ...

  5. 7-1 计算π的值 (10分)_PTA_Java基础练习

    7-1 计算π的值 (10分) 在数学中,我们可以通过π=4╳(1-1/3+1/5-1/7+1/9--1/(2╳n+1)) 来计算,n越大,计算值越靠近.输入正整数n来计算π. 输入样例: 在这里给出 ...

  6. 计算油费 (10 分)

    计算油费 (10 分) 现在90号汽油6.95元/升.93号汽油7.44元/升.97号汽油7.93元/升.为吸引顾客,某自动加油站推出了"自助服务"和"协助服务" ...

  7. 7-2 计算职工工资 (10分)

    7-2 计算职工工资 (10分) 给定N个职员的信息,包括姓名.基本工资.浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出). 输入格式: 输入在一行中 ...

  8. Python: 7-4 计算个人所得税 (10 分)

    Python: 7-4 计算个人所得税 (10 分) 假设个人所得税为:税率×(工资−1600).请编写程序计算应缴的所得税,其中税率定义为: 当工资不超过1600时,税率为0: 当工资在区间(160 ...

  9. 7-7 计算个人所得税(10 分)

    7-7 计算个人所得税(10 分) 假设个人所得税为:税率×(工资−1600).请编写程序计算应缴的所得税,其中税率定义为: 当工资不超过1600时,税率为0: 当工资在区间(1600, 2500]时 ...

最新文章

  1. rust怎么把门拿下来_皮肤好的女生都是怎么护肤的?快拿小本本记下来
  2. mxnet基础到提高(40)-ndarray之运算(1)
  3. android/IOS SDK怎么判断用户是否安装了微信/QQ
  4. lamp环境搭建经验总结
  5. 一个简单易用的导出Excel类
  6. 玩转oracle 11g(17):命令学习5
  7. JS单引号嵌套的问题,怎么改才能对呢!
  8. 某云商城发卡网源码 带视频教程
  9. HDU4607 Park Visit(解法二)【废除!!!】
  10. 安卓application生命周期的onCreate、onLowMemory、onTrimMemory、onConfigurationChanged
  11. [转]Javascript 中 String.replace( ) 的妙用
  12. TextView属性android:ellipsize实现跑马灯效果
  13. 服务器系统小米随身wifi,win8.1系统安装小米随身wifi驱动详细操作步骤【图文教程】...
  14. IMDB Top500(世界最佳电影500部)
  15. 推荐系统实战--movieslens数据集实现UserCF算法
  16. Science:无氧世界的古菌氨氧化
  17. 2020牛客暑期多校训练营(第九场) The Crime-solving Plan of Groundhog
  18. 最新 | Windows和信创终端都能顺滑使用宁盾802.1X账密认证了
  19. ajax使用post函数(通过远程 HTTP POST 请求载入信息)
  20. 清华小学上册计算机教学案例,案例分析 清华小学 罗远琴

热门文章

  1. oracle 抽样_oracle优化手段--统计信息导出和抽样提取数据
  2. c语言辅音字符怎么表示,C 语言实例 - 判断元音/辅音
  3. 字节员工收黑钱、操控抖音热榜,判刑了!
  4. 设计-由OOiNN设计师精心设计的每一个姓氏的印章
  5. JSD2204-java基础复习
  6. SCM供应链系统有什么价值?
  7. cf修改游戏客户端是什么意思_cf封号原因是非法篡改游戏客户端是什么意思
  8. 关于投资有哪些不得不读的书籍?
  9. 服务器虚拟系统无法上网络设置,玩转Windows 2008虚拟机网络设置
  10. win10 who owns this pc? My organization I own it