zoukankan      html  css  js  c++  java
  • 函数:按引用传递函数参数进行操作

    #include <iostream>
    #include <string>
    
    struct free_throws
    {
    	std::string name;
    	int made;
    	int attempts;
    	float percent;
    };
    
    void display(const free_throws & ft);
    void set_pc(free_throws & ft);
    free_throws & accumulate(free_throws & target, const free_throws & source);
    
    int main(void)
    {
    	using std::cout;
    	free_throws one = {"Ifelsa Branch", 13, 14};
    	free_throws two = {"Andor Knott", 10, 16};
    	free_throws three = {"Minnie Max", 7, 9};
    	free_throws four = {"Whily Looper", 5, 9};
    	free_throws five = {"Long Long", 6, 14};
    	free_throws team = {"Throwgoods", 0, 0};
    	
    	free_throws dup;
    	
    	set_pc(one);
    	display(one);
    	accumulate(team, one);
    	display(team);
    	
    	display(accumulate(team, two));
    	accumulate(accumulate(team, three), four);
    	display(team);
    	
    	dup = accumulate(team, five);
    	
    	cout << "Displaying team:
    ";
    	display(team);
    	cout << "Displaying dup after assignment:
    ";
    	display(dup);
    	set_pc(four);
    	
    	accumulate(dup, five) = four;
    	cout << "Displaying dup after ill-advised assignment:
    ";
    	display(dup);
    	return 0;
    }
    void display(const free_throws & ft)
    {
    	using std::cout;
    	cout << "Name: " << ft.name << '
    ';
    	cout << " Made: " << ft.made << '	';
    	cout << "Attempts: " << ft.attempts << '	';
    	cout << "Percent: " << ft.percent << '
    ';
    }
    void set_pc(free_throws & ft)
    {
    	if(ft.attempts != 0)
    		ft.percent =100.0f * float(ft.made)/float(ft.attempts);
    	else
    		ft.percent = 0;
    }
    free_throws & accumulate(free_throws & target, const free_throws & source)
    {
    	target.attempts += source.attempts;
    	target.made += source.made;
    	set_pc(target);
    	return target;
    }

  • 相关阅读:
    [NOI2008] 糖果雨
    [NOI2006] 神奇口袋
    [NOI2014] 购票
    Prince and Princess HDU
    Network POJ
    CodeForces
    Codeforces Global Round 12
    Codeforces Round #688 (Div. 2)
    [USACO05DEC]Layout G
    # Technocup 2021
  • 原文地址:https://www.cnblogs.com/WALLACE-S-BOOK/p/9732346.html
Copyright © 2011-2022 走看看