这里需要设计一个捐款人类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. 人字拖藏SIM卡、戴微型蓝牙耳机!为考教师岗,多人作弊被抓
  2. 科学家公布地球“裸照”
  3. Tensorflow中的Protocol Buffer
  4. 心动的本质是什么_那一刻,我怦然心动了......
  5. java文档注释 编写格式
  6. 数据建模_浅谈数据仓库建设中的数据建模方法
  7. JAVA线程1 - 基本概念
  8. php qq邮箱群发
  9. 2021-05-04 16:37:16.550 ERROR 3268 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] :
  10. php微信公众号图文回复,微信公众号回复图文消息——2018年6月6日
  11. ubuntu16.04(虚拟机) 上MPD(Music Player Daemon)+MPC运行环境搭建
  12. checkstyle配置规格说明
  13. LYF95101A 是一款高性能、高集成度、具有快速
  14. mysql数据库配置_mysql数据库怎么配置
  15. 想知道自己30分钟能“走”多远嘛?
  16. 【2014 年末岁首】
  17. BiomaRt 包进行基因ID转换
  18. 航班数据实时查询技术整理与剖析
  19. 大数据建模与数据模型工具
  20. 作死的神秘12行代码:分分钟让你电脑崩溃手机重启

热门文章

  1. 【软件工程】软件工程系统开发——系统设计概述
  2. R语言编写自定义函数计算分类模型评估指标:准确度、特异度、敏感度、PPV、NPV、数据数据为模型预测后的混淆矩阵、比较多个分类模型分类性能(逻辑回归、决策树、随机森林、支持向量机)
  3. ICCV2019——SCRDet Towards More Robust Detection for Small, Cluttered and Rotated Objects
  4. 如何简单计算patch代码变化量?
  5. c语言提纲,C语言复习提纲
  6. Windows系统自带图标位置
  7. Docker网络模式与数据管理
  8. 部署Kubernetes集群+Dashboard可视化页面-1.18.6版本
  9. 详细讲解WIN7系统上Virtualbox4.2.8安装RedHat Enterprise Linux 6.4
  10. VPX-M1 3U VPX 刀片计算机产品