Tạo lớp phanso, bắt buộc phải có:
Ø Thành
phần dữ liệu tuso và mauso
Ø Hàm
thiết lập với các tham số mặc định gán cho tuso và mauso
Ø Hàm
tối giản phân số
Ø Hàm
chồng toán tử chèn dòng << để xuất phân số ra màn hình
Ø Hàm
chồng toán tử + cộng 2 phân số
Tạo lớp phansomoi kế thừa lớp phanso,
bắt buộc phải có:
Ø Hàm
thiết lập với các tham số mặc định gán cho tuso và mauso
Ø Hàm
chồng toán tử chèn dòng << để xuất phân số mới ra màn hình
Ø Hàm
chồng toán tử * cộng 2 hỗn số
Hàm main tạo 2 phân số, 2 phân số mới.
Xuất các phân số, tổng 2 phân số, tích 2 phân số mới
#include<iostream.h>
#include<math.h>
{int r=a%b;
while (r>0)
{a=b;b=r;r=a%b;
}
return b;
}
class
phanso
{protected:
int tuso,mauso;
public:
phanso(int a=0, int b=1)
{tuso=a;
mauso=b;
}
phanso operator+(phanso b)
{phanso c;
c.tuso=tuso*b.mauso+mauso*b.tuso;
c.mauso=mauso*b.mauso;
return c;
}
void toigian()
{int u=usc(abs(tuso),abs(mauso));
tuso=tuso/u;
mauso=mauso/u;
}
friend ostream &operator <<
(ostream &Out,phanso &P)
{P.toigian();
if (P.mauso<0)
{P.tuso=-P.tuso;
P.mauso=-P.mauso;
}
if (P.tuso%P.mauso==0) Out<<P.tuso/P.mauso<<"\n";
else
Out<<P.tuso<<"/"<<P.mauso<<"\n";
return Out;
}
};
class
phansomoi:phanso
{public:
phansomoi(int t=0,int m=1):phanso(t,m)
{}
phansomoi operator*(phansomoi b)
{phansomoi c;
c.tuso=tuso*b.tuso;
c.mauso=mauso*b.mauso;
return c;
}
friend ostream &operator <<
(ostream &Out,phansomoi &P)
{P.toigian();
if (P.mauso<0)
{P.tuso=-P.tuso;
P.mauso=-P.mauso;
}
if (P.tuso%P.mauso==0)
Out<<P.tuso/P.mauso<<"\n";
else
Out<<P.tuso<<"/"<<P.mauso<<"\n";
return Out;
}
};
void
main()
{int
t,m;
cout<<"Nhap phan so
x1:"<<endl;
cout<<"Nhap tu so :
";cin>>t;
cout<<"Nhap mau so :
";cin>>m;
phanso x1(t,m);
cout<<"Nhap phan so
x2:"<<endl;
cout<<"Nhap tu so :
";cin>>t;
cout<<"Nhap mau so :
";cin>>m;
phanso x2(t,m);
cout<<"Nhap phan so moi
y1:"<<endl;
cout<<"Nhap tu so :
";cin>>t;
cout<<"Nhap mau so :
";cin>>m;
phansomoi y1(t,m);
cout<<"Nhap phan so moi
y2:"<<endl;
cout<<"Nhap tu so :
";cin>>t;
cout<<"Nhap mau so :
";cin>>m;
phansomoi y2(t,m);
cout<<"Phan so x1 da nhap la
:"<<x1<<endl;
cout<<"Phan so x2 da nhap la
:"<<x2<<endl;
cout<<"Phan so moi y1 da nhap la
:"<<y1<<endl;
cout<<"Phan so moi y2 da nhap la
:"<<y2<<endl;
cout<<"Tong 2 phan so da nhap la
:"<<(x1+x2)<<endl;
cout<<"Tich 2 phan so moi da nhap
la :"<<(y1*y2)<<endl;
}
Nhãn bài viết: Chia-se | Học tập