我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 50浮云悬赏求助C++ 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ approve /ə'pru:v/ vt. 批准,认可;vi. 赞成,满意 ]


50浮云悬赏求助C++

namespace SALES
{
    const int QUARTERS=4;
    struct Sales
    {
        double sales[QUARTERS];
        double average;
        double max;
        double min;
    };
    void setSales(Sales &s,const double ar[],int n);
    void setSales(Sales &s);
    void showSales(const Sales &s);
}
顶端 Posted: 2007-10-07 10:21 | [楼 主]
dongyu





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
家族: 起早不摸黑
发贴: 168
威望: 0
浮云: 1115
在线等级:
注册时间: 2006-10-13
最后登陆: 2008-06-29

5come5帮你背单词 [ successive /sək'sesiv/ a. 连续的,连接的 ]


你的void setSales(Sales &s,const double ar[],int n);  void setSales(Sales &s);void showSales(const Sales &s);这三个函数你把它们放在struct  sales外面那就说明他们不是sales的成员函数。这样的话就在重载 setSale这个函数时会出错!
顶端 Posted: 2007-10-07 11:25 | [1 楼]
dongyu





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
家族: 起早不摸黑
发贴: 168
威望: 0
浮云: 1115
在线等级:
注册时间: 2006-10-13
最后登陆: 2008-06-29

5come5帮你背单词 [ fund /fΛnd/ n. 资金,基金,专款,(pl.)存款,现款,(物质资源的)储备 ]


我的头文件为:H1.h
namespace SALES
{
    const int QUARTERS=4;
    struct Sales
    {
        double sales[QUARTERS];
        double average;
        double max;
        double min;
        void setSales(Sales &s,const double ar[],int n);
    void setSales(Sales &s);
    void showSales(const Sales &s);
       
    };
   
}
cpp文件为main.cpp:
#include<iostream>
#include"H1.H"
using namespace SALES;
void  setSales(Sales &s,const double ar[],int n)
{
    if(n<=4)
    {
        for(int i=0;i<n;i++)
            s.sales=ar;
        for(i=n;i<4;i++)
            s.sales=0;
    }
    if(n>4)
    {
        for(int i=0;i<4;i++)
          s.sales=ar;
    }
    double ave=0;
    for(int i=0;i<4;i++)
    {
        ave+=s.sales;
    }
    s.average=ave/4;
    s.max=s.sales[0];s.min=s.sales[0];
    for(i=0;i<4;i++)
    {
        if(s.sales>s.max)
            s.max=s.sales;
        if(s.sales<s.min)
            s.min=s.sales;
    }

}
void setSales(Sales &s)
{
    std::cout<<"Enter 4 numbers:";
    for(int i=0;i<4;i++)
        std::cin>>s.sales;
        double ave=0;
    for(i=0;i<4;i++)
    {
        ave+=s.sales;
    }
    s.average=ave/4;
    s.max=s.sales[0];s.min=s.sales[0];
    for(i=0;i<4;i++)
    {
        if(s.sales>s.max)
            s.max=s.sales;
        if(s.sales<s.min)
            s.min=s.sales;
    }
}
void showSales(const Sales &s)
{
    for(int i=0;i<4;i++)
        std::cout<<s.sales<<std::endl;
    std::cout<<"average="<<s.average<<std::endl;
    std::cout<<"max="<<s.max<<std::endl;
    std::cout<<"min="<<s.min<<std::endl;
}
int main()
{
    Sales a[2];
    double b[4]={1.1,1.2,1.3,1.0};
    setSales(a[0],b,4);
    setSales(a[1]);
    showSales(a[0]);
    showSales(a[1]);
    return 0;

}
运行结果为:
顶端 Posted: 2007-10-07 11:31 | [2 楼]
dongyu





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
家族: 起早不摸黑
发贴: 168
威望: 0
浮云: 1115
在线等级:
注册时间: 2006-10-13
最后登陆: 2008-06-29

5come5帮你背单词 [ essence /'esns/ n. 本质,实质,精华,精粹 ]


这是我的运行结果
远程图片:result1.jpg
顶端 Posted: 2007-10-07 11:33 | [3 楼]
dongyu





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
家族: 起早不摸黑
发贴: 168
威望: 0
浮云: 1115
在线等级:
注册时间: 2006-10-13
最后登陆: 2008-06-29

5come5帮你背单词 [ wide /waid/ a. 宽阔的,广泛的;ad. 全部地,充分地 ]


Quote:
引用第18楼xuer于2007-10-07 11:35发表的  :


奇怪。。。原来我不是已经声明了结构才声明函数的,为什么不行呢

不是在类里面定义的函数好像是不能进行重载的。包含在struct里面的函数就相当于是sale
类里的公有成员函数。。
顶端 Posted: 2007-10-07 11:48 | [4 楼]
dongyu





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
家族: 起早不摸黑
发贴: 168
威望: 0
浮云: 1115
在线等级:
注册时间: 2006-10-13
最后登陆: 2008-06-29

5come5帮你背单词 [ witness /'witnis/ n. 目击者,证人;vt. 目击,注意到,证明 ]


Quote:
引用第24楼xuer于2007-10-07 12:10发表的  :
我把函数定义放在另一个文件里,这样不行?出错提示好像就是函数没定义?

恩,你只要把main函数和成员函数放在一个文件里面编译就行了。你把main定义放在另一个文件里
的话,你在main 函数里面就必须用对象sale 去调用成员函数!
顶端 Posted: 2007-10-07 12:14 | [5 楼]
dongyu





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
家族: 起早不摸黑
发贴: 168
威望: 0
浮云: 1115
在线等级:
注册时间: 2006-10-13
最后登陆: 2008-06-29

5come5帮你背单词 [ locate /ləu'keit/ vt. 把…设置在,使…坐落于,探明,找到 ]


要改的话就必须该你这个名字空间的用法了!
eg:
namespace ZZ
{
  class M;
  void M::getc();
}
class M
{
  int m;
public:
  void getc() {return m;}
}
顶端 Posted: 2007-10-07 12:34 | [6 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.011161(s) query 6, Time now is:11-22 19:37, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号