Nạp chồng toán tử với phân số
tính tổng- hiệu- tích- thương 2 phân số:
code:
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
#include<math.h>
int uc(int a,int b)
{
if (a*b==0)
return 1;
else
{
while (a!=b)
{
if (a>b)
a=a-b;
else
b=b-a;
}
return a;
}
}
class PS
{
private:
int t;
int m;
public:
PS()
{
t=0;
m=1;
}
friend ostream& operator<< (ostream& os,PS x)
{
os<< x.t << "/" << x.m;
return os;
}
friend istream& operator>> (istream& is,PS &x)
{
cout<< "Nhap tu : ";
is>> x.t;
cout<<"nhap mau : ";
is>>x.m;
return is;
}
PS operator+(PS b)
{
PS c;
c.t=t*b.m+m*b.t;
c.m=m*b.m;
return tg(c);
}
PS operator-(PS b)
{
PS c;
c.t = t*b.m-m*b.t;
c.m = m*b.m;
return tg(c);
}
PS operator*(PS b)
{
PS c;
c.t = t*b.t;
c.m=m*b.m;
return tg(c);
}
PS operator/(PS b)
{
PS c;
c.t=t*b.m;
c.m = m*b.t;
return tg(c);
}
PS tg(PS x)
{
int s = uc(x.t,x.m);
x.t=x.t/s;
x.m=x.m/s;
return x;
}
};
void main()
{
clrscr();
PS a,b,c,d,e,f;
cin>>a;
cin>>b;
c=a+b;
d=a-b;
e=a*b;
f=a/b;
cout<<"Tong : "<<c<<"\n";
cout<<"Hieu : "<<d<<"\n";
cout<<"Tich : "<<e<<"\n";
cout<<"Thuong : "<<f<<"\n";
getch();
}
0 Response to "Nạp chồng toán tử với phân số"
Đăng nhận xét