Tạo lớp phanso

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 quy đồng mẫu 2 phân số
Ø  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 honso kế thừa lớp phanso, bắt buộc phải có:
Ø  Thành phần dữ liệu nguyen là phần nguyên của hỗn số
Ø  Hàm thiết lập với các tham số mặc định gán cho tuso, mauso và nguyen
Ø  Hàm chồng toán tử chèn dòng << để xuất hỗn số 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 hỗn số. Xuất các phân số, hỗn số, tổng 2 phân số, tổng 2 hỗn số.#include<iostream.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;
            }
 void quydong(phanso &b)
            {b.tuso=b.tuso*mauso;
             mauso=mauso*b.mauso;
             tuso=tuso*b.mauso;
             b.mauso=mauso;
            }
 void toigian()
            {int u=usc(tuso,mauso);
             tuso=tuso/u;
             mauso=mauso/u;
            }
 friend ostream &operator << (ostream &Out,phanso &P)
  {P.toigian();
            Out<<P.tuso<<"/"<<P.mauso<<"\n";
            return Out;
  }
 phanso operator+(phanso b)
            {quydong(b);
             phanso c;
             c.tuso=tuso+b.tuso;
             c.mauso=mauso;
             return c;
            }
};
class honso:public phanso
{ int nguyen;
  void toigian()
            {phanso::toigian();
             int n=tuso/mauso;
             nguyen+=n;
             tuso=tuso%mauso;
            }
 public:
  honso(int p=0,int q=0,int r=1):phanso(q,r)
  {nguyen=p;   }
 honso operator+(honso b)
            {quydong(b);
             honso c;
             c.tuso=tuso+b.tuso;
             c.mauso=mauso;
             c.nguyen=nguyen+b.nguyen;
             return c;
            }
 friend ostream &operator << (ostream &Out,honso &P)
  {P.toigian();
            Out<<P.nguyen<<"+"<<P.tuso<<"/"<<P.mauso<<"\n";
            return Out;
  }
 };
void main()
{phanso x(12,18),y(15,25);
 cout<<"Phan so thu nhat :"<<x<<endl;
 cout<<"Phan so thu hai :"<<y<<endl;
 cout<<"Tong 2 phan so :"<<(x+y)<<endl;
 honso a(3,6,8),b(2,10,16);
 cout<<"Hon so thu nhat :"<<a<<endl;
 cout<<"Hon so thu hai :"<<b<<endl;
 cout<<"Tong 2 hon so :"<<(a+b)<<endl;

}



Nhãn bài viết: |
Blog, Updated at: 06:38