分数类的四则运算

题目描述
编写分数类Fraction,实现两个分数的加、减、乘和除四则运算。主函数已给定。
输入
每行四个数,分别表示两个分数的分子和分母,以0 0 0 0 表示结束。
输出
空格分隔的两个分数的减和除的结果。
样例输入
1 2 -1 2
4 3 3 4
0 0 0 0
样例输出
1 -1

7/12 16/9

我的程序:

#include
using namespace std;
class Fraction
{
private:
	int a,b;
public:
	friend istream& operator>>(istream&,Fraction&);
	friend Fraction operator-(Fraction&,Fraction&);
	friend Fraction operator/(Fraction&,Fraction&);
    friend bool operator==(Fraction&,int);
	void output();
};
istream & operator>>(istream &in,Fraction &c)
{
	in>>c.a>>c.b;
	return in;
}
Fraction operator-(Fraction &c1,Fraction &c2)
{
	Fraction c3;
	int temp,n,p,r,m;
	c3.a=c1.a*c2.b-c1.b*c2.a;
	c3.b=c1.b*c2.b;
	n=c3.a;
	m=c3.b;
	if(n0&&b>0)||(a<0&&b<0))
		cout<0)
		cout<<"-"<<-a<<"/"<>f1>>f2)
	{
		if(f1==0&&f2==0)
			break;
		f3=f1-f2;
		f3.output();
        cout<<" ";
		f3=f1/f2;
		f3.output();
		cout<

运行结果:

分数类的四则运算_第1张图片



你可能感兴趣的:(c++)