| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4145 人关注过本帖, 1 人收藏
标题:刚学的,求各位指教
只看楼主 加入收藏
我是个菜鸟ii
Rank: 2
等 级:论坛游民
帖 子:11
专家分:11
注 册:2016-4-6
结帖率:60%
收藏(1)
已结贴  问题点数:20 回复次数:4 
刚学的,求各位指教
这是header files 文件
class Fraction
{
private:
    int a;
    int b;

    int Fraction::divisor(int p,int q);
public:
    Fraction();
    Fraction(int a,int b);
    Fraction(Fraction &c);

    void set(int a,int b);
    void show();
    Fraction add(Fraction b);
    Fraction sub(Fraction b);
    Fraction mul(Fraction b);
    Fraction div(Fraction b);
    void fas();
   
};
这是source files文件
#include"iostream"
#include"fraction.h"
using namespace std;

Fraction::Fraction()
{
    a=0;
    b=1;
}
Fraction::   Fraction(int a,int b)
{
    set(a,b);
}
Fraction::   Fraction(Fraction &c)
{
    a=c.a;
    b=c.b;
}
void Fraction::set(int a,int b)
{
    this->a=a;
    this->b=b;
}
void Fraction::show()
{
    cout<<a<<"/"<<b;
}
Fraction Fraction::add(Fraction u)//加法
{
    int tmp;
    Fraction v;

    v.a=a*u.b+b*u.a;
    v.b=b*u.b;
    fas(a,b);
    return v;
}
Fraction Fraction::sub(Fraction u)//减法
{int tmp;
    Fraction v;

    v.a=a*u.b-b*u.a;
    v.b=b*u.b;
    fas(a,b);
    return v;
}
Fraction Fraction::mul(Fraction u)//乘法
{
        int tmp;
    Fraction v;

    v.a=a*u.a;
    v.b=b*u.b;
    fas(a,b);
    return v;

}

Fraction Fraction::div(Fraction u)//除法
{    int tmp;
    Fraction v;

    v.a=a*u.b;
    v.b=b*u.a;
    fas(a,b);
    return v;
}

int Fraction::divisor(int p,int q)//计算公约数
{
    int r;
    if(p<q)
    {
        int tmp;
        tmp=p;
        p=q;
        q=tmp;
    }
    r=p%q;
    while(r!=0)
    {
        p=q;
        q=r;
        r=p%q;
    }
    return q;
}
void fas(a,b)
{
    int tmp;
    tmp=divisor(a,b);
    a=a/tmp;
    b=b/tmp;

}
还有个main函数,那个没问题的,我就不发了。问题是最后一个函数fas的编写和调用可能错了,但是我看不出来。请各位指教
这是显示的错误信息
c++\jk181042\fraction.cpp(35) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(44) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(54) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(65) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(88) : error C2065: 'a' : undeclared identifier
D:\c++\jk181042\fraction.cpp(88) : error C2065: 'b' : undeclared identifier
D:\c++\jk181042\fraction.cpp(89) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition
执行 cl.exe 时出错.

fraction.obj - 1 error(s), 0 warning(s)
搜索更多相关主题的帖子: private include public source files 
2016-04-07 00:02
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:20 
程序代码:
void fas(int a,int b)
{
    int tmp;
    tmp=divisor(a,b);
    a=a/tmp;
    b=b/tmp;

}

未佩好剑,转身便已是江湖
2016-04-07 16:21
我是个菜鸟ii
Rank: 2
等 级:论坛游民
帖 子:11
专家分:11
注 册:2016-4-6
收藏
得分:0 
修改了之后出现这个问题
+\jk181042\fraction.cpp(35) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(44) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(54) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(65) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(91) : error C2065: 'divisor' : undeclared identifier
2016-04-07 18:42
我是个菜鸟ii
Rank: 2
等 级:论坛游民
帖 子:11
专家分:11
注 册:2016-4-6
收藏
得分:0 
回复 2楼 alice_usnet
修改了之后出现这个问题
+\jk181042\fraction.cpp(35) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(44) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(54) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(65) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(91) : error C2065: 'divisor' : undeclared identifier
2016-04-07 18:43
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:0 
void fas();
void fas(a,b)
{
    int tmp;
    tmp=divisor(a,b);
    a=a/tmp;
    b=b/tmp;

}
这是什么意思,笔误?而且应该是Fraction::fas吧

未佩好剑,转身便已是江湖
2016-04-08 11:44
快速回复:刚学的,求各位指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021000 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved