c++函数变量引用

以下是跟大家分享的代码以及运行结果:

#include <iostream>
#include <string>

struct  jiegou{
    
    std::string name;
    int made;
    int attemps;
    float percent;
}; 

void display(const jiegou &ft);
void set_pc(jiegou &ft);
jiegou & accumlate(jiegou &target,const jiegou &source); 

int main(){
    
    jiegou jiegou1={"例1",11,15}; 
    jiegou jiegou2={"例2",23,32};
    jiegou jiegou3={"例3",34,56};
    jiegou jiegou4={"例4",23,34}; 
    jiegou jiegou5={"例5",43,56};
    jiegou ceshi={"例6",0,0};
    
    jiegou jiegou6;    
    
    set_pc(jiegou1);
    display(jiegou1);
    accumlate(ceshi,jiegou1);
    display(ceshi);
    
    display(accumlate(ceshi,jiegou2));
    accumlate(accumlate(ceshi,jiegou3),jiegou4);
    display(ceshi);
    
    jiegou6=accumlate(ceshi,jiegou5);
    std::cout<<"ceshi:\n";
    display(ceshi);
    std::cout<<"jiegou6:\n";
    display(jiegou6);
    set_pc(jiegou4);
    
    accumlate(jiegou6,jiegou5)=jiegou4;
    std::cout<<"jiegou6:\n";
    display(jiegou6); 
    
    
        
    return 0;
}
void display(const jiegou &ft){
    
      using std::cout;
      cout<<"name:"<<ft.name<<'\n';
      cout<<"made:"<<ft.made<<'\n';
      cout<<"attemps:"<<ft.attemps<<'\n';
      cout<<"percent:"<<ft.percent<<'\n';     
}
void set_pc(jiegou &ft){
    
      if(ft.attemps!=0)
      
       ft.percent=100.0f*float(ft.made)/float(ft.attemps);
     
      else
       
       ft.percent=0; 
        
}
jiegou & accumlate(jiegou &target,const jiegou &source){
    
       target.attemps+=source.attemps;
       target.made+=source.made;
       set_pc(target);
       return target;
};

  • 38
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值