Lớp Sư phạm Cử nhân tin học khóa 1
Chào mừng bạn trở lại diễn đàn.

Bài thực hành 2: Đối tượng Phân số

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Bài thực hành 2: Đối tượng Phân số

Bài gửi by Admin on 14/7/2008, 9:02 pm

XuLyPhanSo.h
Code:

http://XuLyPhanSo.h
#ifndef XULYPHANSO_H
#define XULYPHANSO_H 1

// dinh nghia kieu cau truc
class PhanSo{
public:
   int tu, mau;
// ham xuat/nhap
void nhap();
void xuat();
//ham tao/huy
PhanSo();
PhanSo(int a, int b);

//ham tinh toan/xu ly
PhanSo operator +(PhanSo ps);
PhanSo operator -(PhanSo ps);
PhanSo operator *(PhanSo ps);
PhanSo operator /(PhanSo ps);
PhanSo NghichDao();
void toigian();
};
int ucln(int a, int b);
#endif
XuLyPhanSo.cpp
Code:

http://XuLyPhanSo.cpp
#include "XuLyPhanSo.h"
#include <iostream>
#include <cmath>
using namespace std;

void PhanSo::nhap()
{
   cout << "\t+Nhap vao tu so : ";
   cin >> tu;
   cout << "\t+Nhap vao mau so: ";
   cin >> mau;

}

PhanSo::PhanSo()
{
 tu=0; mau=1;
};
void PhanSo::xuat()
{
   cout << tu << "/" << mau;
}

PhanSo PhanSo::operator +(PhanSo ps)
{
   PhanSo t;

   t.tu = tu*ps.mau + mau*ps.tu;
   t.mau = mau*ps.mau;

   return t;
}

PhanSo PhanSo::operator -(PhanSo ps)
{
   PhanSo t;

   t.tu = tu*ps.mau - mau*ps.tu;
   t.mau = mau*ps.mau;

   return t;
}
PhanSo PhanSo::operator *(PhanSo ps)
{
   PhanSo t;

   t.tu = tu*ps.tu;
   t.mau = mau*ps.mau;

   return t;
}
PhanSo PhanSo::operator /(PhanSo ps)
{
   PhanSo t;

   t.tu = tu*ps.mau;
   t.mau = mau*ps.tu;

   return t;
}

int ucln(int a, int b)  // uoc so chung lon nhat cua 2 so
      {
   a = abs(a);
   b = abs(b);

   if (a == 0)
      return b;
   if (b == 0)
      return a;

   while (a != b)
   {
      if (a > b) a -= b;
      else b -= a;
   }

   return a;


}



void PhanSo::toigian()
{
   int t=tu, m=mau;
   int x=ucln(tu, mau);
   if (x==0)
   return;
   tu/=x;
   mau/=x;

//Doi dau khi rut gon
   if((tu<0&&mau<0)||(tu>0&&mau<0))
   {
      tu=-tu;
      mau=-mau;
   }


         cout <<"\n->Rut gon: ";

}
PhanSo PhanSo::NghichDao()
{
    PhanSo kq;
    kq.tu=mau;
    kq.mau=tu;
    return kq;
}
MainPhanSo.cpp
Code:

http://Main.cpp
#include "XuLyPhanSo.h"
#include <iostream>
using namespace std;

int main()
{
   
   PhanSo a, b, a1, b1,tong, hieu, tich, thuong;
      cout <<"  CAC PHEP TINH PHAN SO";
   cout <<"\n  ---------------------";

   cout << "\n-Phan so thu nhat\n";
   a.nhap();
   
   cout << "\n-Phan so thu hai\n";
   b.nhap();


   a1 =a.NghichDao();
   cout <<"\n+Nghich dao phan so ";
   a.xuat();
   cout <<" la ";
   a1.xuat();
   a1.toigian();
   a1.xuat();

   b1= b.NghichDao();
   cout <<"\n\n+Nghich dao phan so ";
   b.xuat();
   cout <<" la ";
   b1.xuat();
   b1.toigian();
   b1.xuat();

   
   tong = a + b;
   cout <<"\n\n+ Tong : ";
   tong.xuat();
   tong.toigian();
   tong.xuat();

   hieu = a - b;
   cout <<"\n\n+ Hieu : ";
   hieu.xuat();
   hieu.toigian();
   hieu.xuat();

   tich = a * b;
   cout <<"\n\n+ Tich : ";
   tich.xuat();
   tich.toigian();
   tich.xuat();
   
   thuong = a / b;
   cout <<"\n\n+ Thuong 2 phan so: ";
   thuong.xuat();
   thuong.toigian();
   thuong.xuat();
   cout<<"\n";
   system("PAUSE");
}
avatar
Admin
Admin

Tổng số bài gửi : 148
Registration date : 17/12/2007

Xem lý lịch thành viên http://cnthk1.tk

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết