Sunday, June 22, 2014

Thực hành 9 - Bài 1


Đề bài : ThucHanh09_Class_GioiThieu.pdf

Xem file định nghĩa SoPhuc (số phức) trong file SoPhuc.cpp. Cài đặt thêm các hàm trừ số phức, nhân số phức tương tự như hàm cộng số phức đã có.

________________________________________________________________________

Code : http://pastebin.com/jL0gwfwf  hoặc  thuchanh9-bai1.cpp
________________________________________________________________________



#include <iostream>

using namespace  std;

class SoPhuc
{
    public:
        SoPhuc();
        ~SoPhuc();
        SoPhuc(double, double);
     
        double getThuc();
        double getAo();
        void setThuc(double);
        void setAo(double);
        void setSoPhuc(double, double);
        void inSoPhuc();
     
        friend SoPhuc operator +(SoPhuc, SoPhuc);
        friend SoPhuc operator -(SoPhuc, SoPhuc);
        friend SoPhuc operator *(SoPhuc, SoPhuc);
     
    private:
        double thuc;
        double ao;
};

SoPhuc::SoPhuc()
{
    thuc = 0;
    ao = 0;
}

SoPhuc::~SoPhuc()
{
}
SoPhuc::SoPhuc(double a, double b)
{
    thuc = a;
    ao = b;
}
double SoPhuc::getThuc()
{
    return thuc;
};
double SoPhuc::getAo()
{
    return ao;
};
void SoPhuc::setThuc(double a)
{
    thuc = a;
};
void SoPhuc::setAo(double a)
{
    ao = a;
}
void SoPhuc::setSoPhuc(double a, double b)
{
    thuc = a;
    ao = b;
};
void SoPhuc::inSoPhuc()
{
    cout << "( " << thuc << " + " << ao << "i )" << endl;
};
SoPhuc operator +(SoPhuc a, SoPhuc b)
{
    SoPhuc c;
    c.setThuc(a.getThuc()+b.getThuc());
    c.setAo(a.getAo()+ b.getAo());
    return c;
};
SoPhuc operator -(SoPhuc a, SoPhuc b)
{
    SoPhuc c;
    c.setThuc(a.getThuc()-b.getThuc());
    c.setAo(a.getAo()- b.getAo());
    return c;
};

SoPhuc operator *(SoPhuc a, SoPhuc b)
{
    SoPhuc c;
    c.setThuc( a.getThuc()*b.getThuc() + a.getAo()*b.getAo() );
    c.setAo( a.getAo()*b.getThuc()+ b.getAo()*a.getThuc() );
    return c;
};
int main ()
{
    SoPhuc a,b,c;
    a.setSoPhuc(1,2); a.inSoPhuc();
    b.setSoPhuc(2,3); b.inSoPhuc();
    c = a + b;  c.inSoPhuc();
    c = a - b,  c.inSoPhuc();
    c = a * b,  c.inSoPhuc();
    system("pause");
    return 0;
}

BACK TO TOP