Code không thể rút gọn đối số đưa vào

Mình có đoạn code nhưng khi run thì ko thể rút gọn đối số đưa vào mong mọi người giúp đỡ

#include <iostream>
using namespace std;
class PS
{
private:
	int iTu;
	int iMau;
public:
	void nhap()
	{
		cin >> iTu;
		do
		{
			cin >> iMau;
		} while (iMau == 0);
	}

	int ucln(int a, int b)
	{
		if (a < 0) a = -a;
		if (b < 0) b = -b;
		if (a == 0) return b;
		if (b == 0) return a;
		while (a != b)
		{
			if (a > b)
				a = a - b;
			else a = b - a;
			return a;
		}
	}

	PS rutgon()
	{
		int x = ucln(iTu, iMau);
		PS y;
		y.iTu = iTu / x;
		y.iMau = iMau / x;
		return y;
	}
	PS tong(PS a)
	{
		PS tong;
		tong.iTu = iTu * a.iMau + a.iTu * iMau;
		tong.iMau = iMau * a.iMau;
		return tong;
	}

	PS hieu(PS a)
	{
		PS hieu;
		hieu.iTu = iTu * a.iMau - a.iTu * iMau;
		hieu.iMau = iMau * a.iMau;
		return hieu;
	}

	void xuat()
	{
		if (iTu < 0 && iMau < 0)
		{
			iTu = -iTu;
			iMau = -iMau;
		}
		if (iMau < 0 && iTu>0)
		{
			iTu = -iTu;
			iMau = -iMau;
		}
		cout << iTu << "/" << iMau << endl;
	}

};
int main()
{
	PS a, b;
	a.nhap();
	b.nhap();
	PS c, d, e, f;
	c = a.tong(b);
	c.rutgon();
	c.xuat();
	d = a.hieu(b);
	d.rutgon();
	d.xuat();

}

Xem lại hàm ucln(). Xem kĩ lại.

2 Likes

ui cảm ơn bạn nhiều nha

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?