#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
class phanso
{
private:
int tu,mau;
public:
void nhap();
void in();
phanso nhan(phanso y);
phanso chia(phanso y);
phanso cong(phanso y);
phanso tru(phanso y);
void rutgon();// Theo cô phuc thì cau này nam trong private, neu vay phai truy xuat trong hàm thành phan, d?t ? public truy xuat de dàng hon
};
int ucln(int x,int y)
{
x=abs(x);//d?ng quên x,y không âm
y=abs(y);
while(x!=y)
{
if (x>y)
x=x-y;
else
y=y-x;
}
return(x);
}
void phanso::nhap()
{
cout<<"Nhap vao tu so:"; cin>>tu;
cout<<"Nhap vao mau so:"; cin>>mau;
}
void phanso::in()
{
cout<<tu<<"/"<<mau<<"\n";
}
void phanso::rutgon()
{
int p;
p=ucln(tu,mau);
tu=tu/p;
mau=mau/p;
}
phanso phanso::cong(phanso y)
{
phanso kq;
kq.tu=(tu*y.mau)+(mau*y.tu);
kq.mau=(mau*y.mau);
return (kq);
}
phanso phanso::tru(phanso y)
{
phanso kq;
kq.tu=(tu*y.mau)-(y.tu*mau);
kq.mau=(mau*y.mau);
return (kq);
}
phanso phanso::nhan(phanso y)
{
phanso kq;
kq.tu=tu*y.tu;
kq.mau=mau*y.mau;
return(kq);
}
phanso phanso::chia(phanso y)
{
phanso kq;
kq.tu=tu*y.mau;
kq.mau=mau*y.tu;
return(kq);
}
int main()
{
phanso x,y,kq;
cout<<"Nhap phan so x:\n";
x.nhap();
x.rutgon();
cout<<"Phan so rut gon la:";
x.in();
cout<<"Nhap phan so y:\n";
y.nhap();
y.rutgon();
cout<<"Phan so rut gon la:";
y.in();
cout<<"Tong 2 phan so la:";
kq=x.cong(y);
kq.rutgon();
kq.in();
cout<<"Hieu 2 phan so la:";
kq=x.tru(y);
kq.rutgon();
kq.in();
cout<<"Tich 2 phan so la:";
kq=x.nhan(y);
kq.rutgon();
kq.in();
cout<<"Thuong 2 phan so la:";
kq=x.chia(y);
kq.rutgon();
kq.in();
return(0);
getch();
}