鱼C论坛

 找回密码
 立即注册
查看: 1440|回复: 2

[已解决]我是新手,请教各路高手:这个C++程序为什么不能编译呢

[复制链接]
发表于 2015-10-9 21:01:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <iostream>
using namespace std;
#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()
{
       
      //partial initializations - remaining members set to 0       
        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 = {"Therowgoods", 0, 0};
        // no initialization
        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);

        std::cout << "Displaying team:\n";
        display(team);
        std::cout << "Display dup after assignment:\n";
        display(dup);
        set_pc(four);

        accumulate(dup, five ) = four;
        std:: cout << "Displaying dup after ill_advised assignment:\n";
        display(dup);
        return 0;
}
void display(const free_throws & ft)
       
        cout << "Name: " << ft.name << '\n';
        cout << " Made: " << ft.made << '\t';
        cout << "Attempts: " << ft.attempts << '\t';
        cout << "Percent: " << ft.percent << '\n';
        }
        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_throwes & accumulate(free_throws & target, const free_throws & source)
        {
                target.attempts += source.attempts;
                target.made += source.made;
                set_pc(target);
                return  target;
       
        }
最佳答案
2015-10-10 08:45:45
很明显你的代码没有复制完,还有就是格式不对。看一下有没有非法字符。这个函数void display(const free_throws & ft)和 void set_pc(free_throws & ft)少了左大括号。仔细检查一下。还有就是换行是不是英文的换行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-10 08:45:45 | 显示全部楼层    本楼为最佳答案   
很明显你的代码没有复制完,还有就是格式不对。看一下有没有非法字符。这个函数void display(const free_throws & ft)和 void set_pc(free_throws & ft)少了左大括号。仔细检查一下。还有就是换行是不是英文的换行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-10 11:40:47 | 显示全部楼层
格式不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 19:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表