//LE DINH HIEU
//06HTTT
//0650070018
//BTPHANSO
#include <iostream>
#include <stdlib.h>
using namespace std;
class PhanSo_18
{
	private:
		int tu;
		int mau;
		int UCLN(int tu,int mau)
		{
			while(tu!=mau){if(tu>mau)tu-=mau;else mau-=tu;
			};
			return tu;
		}
	public:
		void getnhap();
		void displayxuat();
		
		PhanSo_18 add(PhanSo_18);
		PhanSo_18 mul(PhanSo_18);
		PhanSo_18 nghichdao();
};
void PhanSo_18::getnhap()
{
	cout<<"\nNhap vao tu so : ";
	cin>>tu;
	do{cout<<"\nNhap vao mau so : ";
		cin>>mau ;}
	while(mau==0);
}
void PhanSo_18::displayxuat()
{
	int tam=UCLN(tu,mau);
	if(mau<0)
	cout<<" "<<-tu/tam<<"/"<<" "<<-mau/tam<<endl;
	else
	cout<<" "<<tu/tam<<"/"<<" "<<mau/tam<<endl;
}
PhanSo_18 PhanSo_18::add(PhanSo_18 t)
{
	PhanSo_18 p;
	p.tu=tu*t.mau+mau*t.tu;
	p.mau=mau*t.mau;
	return p;
}
PhanSo_18 PhanSo_18::mul(PhanSo_18 y)
{
	PhanSo_18 x;
	x.tu=tu*y.tu;
	x.mau=mau*y.mau;
	return x;
}
PhanSo_18 PhanSo_18::nghichdao()
{
	PhanSo_18 p;
	p.tu=mau;p.mau=tu;
	return p;
}
int main()
{
	PhanSo_18 A,B,C;
	cout<<"Nhap Phan So A:";
	A.getnhap();
	cout<<"\n Phan So A vua Nhap La";
	A.displayxuat();
	cout<<"\n Nhap Phan So B:";
	B.getnhap();
	cout<<"\n Phan SO vua Nhap La:";
	B.displayxuat();
	C=A.add(B);
	cout<<"\n A+B=";
	C.displayxuat();
	C=A.mul(B);
	cout<<"\n A*B=";
	C.displayxuat();
	C=A.nghichdao();
	C.displayxuat();
}