题目描述 要求如下:
1.实现Fraction类;common_divisor()和contracted()函数体可为空,不实现具体功能。
2.编写main函数,初始化两个Fraction对象的,计算它们之间的加减乘除。输入
第1行:依次输入第1个和第2个Fraction对象的分子和分母值。
输出
每行依次分别输出加减乘除计算后的Fraction对象(直接输出分数值,不需要约简)。
样例输入
1 3 2 5
样例输出
fraction=11/15
fraction=-1/15
fraction=2/15
fraction=5/6
#include<bits/stdc++.h>
using namespace std;
class Fraction{
private:
int fz,fm;
public:
Fraction(int a=0,int b=1){
fz=a;
fm=b;
}
Fraction(Fraction& f){
fz=f.fz;
fm=f.fm;
}
Fraction operator+(const Fraction &f){
Fraction t;
t.fz=fz*f.fm+f.fz*fm;
t.fm=fm*fm;
return t;
}
Fraction operator-(const Fraction &f){
Fraction t;
t.fz=fz*f.fm-f.fz*fm;
t.fm=fm*f.fm;
return t;
}
Fraction operator*(const Fraction& f){
Fraction t;
t.fz=fz*f.fz;
t.fm=fm*f.fm;
return t;
}
Fraction operator/(const Fraction& f){
Fraction t;
t.fz=fz*f.fm;
t.fm=fm*f.fz;
return t;
}
void show(){
cout<<"fraction="<<fz<<"/"<<fm<<endl;
}
};
int main(){
int a,b;
cin>>a>>b;
Fraction i(a,b);
cin>>a>>b;
Fraction j(a,b);
Fraction k;
k=i+j;
k.show();
k=i-j;
k.show();
k=i*j;
k.show();
k=i/j;
k.show();
return 0;
}