[OOP] Cài đặt lớp Số Phức

I.Introduction

Trong bài này mình xin chia sẽ cách cài đặt lớp sớ phức theo tư duy hướng đối tượng

II.Coding

Mở VS C++ 6.0 lên vào tạo Win32 Console Application

image

Tiếp theo chúng ta lần lượt tạo các file(Ctrl + N –> Files):

SoPhuc.h: Chứa Code thông tin lớp số phức gồm các thuộc tính và các hành vi

SoPhuc.cpp: chứa Code xử lý các hành vi của số phức

Main.cpp : thực thi chương trình

image

Bây giờ chúng ta lần lượt cài đặt trong các file

SoPhuc.h

   1: #ifndef _SoPhuc_H

   2: #define _SoPhuc_H

   3: class SoPhuc

   4: {

   5:     private:

   6:         double Thuc,Ao;

   7:     public:

   8:         void Nhap() ;

   9:         void Xuat() const ;

  10:         SoPhuc(double thuc = 0.0, double ao = 0.0);

  11:         SoPhuc Cong(SoPhuc b) const ;

  12:         SoPhuc Tru(SoPhuc b) const ;

  13:         SoPhuc Nhan(SoPhuc b) const;

  14:         SoPhuc Chia(SoPhuc b) const ;

  15: };

  16: #endif

SoPhuc.cpp

   1: #include <iostream.h>

   2: #include "SoPhuc.h"

   3: SoPhuc::SoPhuc(double thuc, double ao)

   4: {

   5:     this->Thuc = thuc;

   6:     this->Ao = ao;

   7: }

   8: void SoPhuc::Nhap()

   9: {

  10:     cout << "Phan Thuc: " ; cin >> Thuc;

  11:     cout << "Phan Ao "; cin >> Ao;

  12: }

  13: void SoPhuc::Xuat() const

  14: {

  15:     cout << "("<< Thuc <<","<< Ao <<")";

  16: }

  17: SoPhuc SoPhuc::Cong(SoPhuc b) const

  18: {

  19:     return SoPhuc(Thuc+b.Thuc,Ao+b.Ao);

  20: }

  21: SoPhuc SoPhuc::Tru(SoPhuc b) const

  22: {

  23:     return SoPhuc(Thuc-b.Thuc,Ao-b.Ao);

  24: }

  25: SoPhuc SoPhuc::Nhan(SoPhuc b) const

  26: {

  27:     return SoPhuc(Thuc*b.Thuc-Ao*b.Ao,Thuc*b.Ao+b.Thuc*Ao);

  28: }

  29: SoPhuc SoPhuc::Chia(SoPhuc b) const

  30: {

  31:     double index = b.Thuc*b.Thuc + b.Ao*b.Ao;

  32:     return SoPhuc(Thuc*b.Thuc+Ao*b.Ao/index,

  33:                   (-Thuc*b.Ao)/index);    

  34: }

Main.cpp

   1: #include <iostream.h>

   2: #include "SoPhuc.h"

   3: int Menu();

   4: void Run(int);

   5: void main()

   6: {

   7:     int task;

   8:     while (task=Menu())

   9:         Run(task);

  10: }

  11: int Menu()

  12: {

  13:     int n ;

  14:     cout << "Menu : \n";

  15:     cout << "1.Cong Hai So Phuc \n";

  16:     cout << "2.Tru Hai So Phuc \n";

  17:     cout << "3.Nhan Hai So Phuc \n";

  18:     cout << "4.Chia Hai So Phuc \n";

  19:     cout << "0.Thoat \n" ;

  20:     cout << "Ban chon :" ;

  21:     cin >> n;

  22:     return n;

  23: }

  24: void Run(int task)

  25: {

  26:     SoPhuc A,B,C;

  27:     

  28:     switch(task)

  29:     {

  30:         case 1:

  31:             cout << "Nhap So Phuc Thu Nhat \n";

  32:             A.Nhap();

  33:             cout << "Nhap So Phuc Thu Hai \n";

  34:             B.Nhap();

  35:             C = A.Cong(B);

  36:             cout << "Ket Qua :";

  37:             A.Xuat(); 

  38:             cout << " + ";

  39:             B.Xuat() ;

  40:             cout << " = " ;

  41:             C.Xuat();

  42:             cout << "\n--------------------------- \n";

  43:             break;

  44:         case 2:

  45:             cout << "Nhap So Phuc Thu Nhat \n";

  46:             A.Nhap();

  47:             cout << "Nhap So Phuc Thu Hai \n";

  48:             B.Nhap();

  49:             C = A.Tru(B);

  50:             cout << "Ket Qua :";

  51:             A.Xuat(); 

  52:             cout << " - ";

  53:             B.Xuat() ;

  54:             cout << " = " ;

  55:             C.Xuat();

  56:             cout << "\n--------------------------- \n";

  57:             break;

  58:         case 3:

  59:             cout << "Nhap So Phuc Thu Nhat \n";

  60:             A.Nhap();

  61:             cout << "Nhap So Phuc Thu Hai \n";

  62:             B.Nhap();

  63:             C = A.Nhan(B);

  64:             cout << "Ket Qua :";

  65:             A.Xuat(); 

  66:             cout << " x ";

  67:             B.Xuat() ;

  68:             cout << " = " ;

  69:             C.Xuat();

  70:             cout << "\n--------------------------- \n";

  71:             break;

  72:         case 4:

  73:             cout << "Nhap So Phuc Thu Nhat \n";

  74:             A.Nhap();

  75:             cout << "Nhap So Phuc Thu Hai \n";

  76:             B.Nhap();

  77:             C = A.Chia(B);

  78:             cout << "Ket Qua :";

  79:             A.Xuat(); 

  80:             cout << " / ";

  81:             B.Xuat() ;

  82:             cout << " = " ;

  83:             C.Xuat();

  84:             cout << "\n--------------------------- \n";

  85:             break;

  86:         default:

  87:             cout << "Ban Da nhap sai \n" ;

  88:             break;

  89:     }

  90: }

Chạy chương trình và xem kết quả :

image

 

/*Life Run On Code*/

2 thoughts on “[OOP] Cài đặt lớp Số Phức

Leave a reply to Võ Anh Duy Cancel reply