Tạo lớp phanso, bắt buộc phải có:

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 usc(int a, int b)
{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: |
Blog, Updated at: 06:38