I.Introduction
Trong bài này mình xin chia sẽ cách cài đặt lớp Phân Số bằng ngôn ngữ lập trình C++ theo tư duy hướng đối tượng
II. Coding
Các bạn Mở VS C++ 6.0 lên và tạo Win32 Console Application.
Tiếp theo các bạn tạo các File để thực hiện cài đặt:
PhanSo.h : File chứa Code lớp Phân Số và giao diện cài đặt
PhanSo.cpp: File chứa Code định nghĩa các hành vi cho đối tượng Phân Số.
Main.cpp : Chứa Hàm main() để thực thi chương trình
PhanSo.h
1: #ifndef _PhanSo_H
2: #define _PhanSo_H
3: class PhanSo
4: {
5: private:
6: int Tu , Mau ;
7: private:
8: void ToiGian();
9: public:
10: PhanSo(int tu = 0, int mau = 1);
11: void Xuat() const;
12: PhanSo Chia(PhanSo b) const;
13: PhanSo Cong(PhanSo b) const ;
14: PhanSo Tru(PhanSo b) const ;
15: PhanSo Nhan(PhanSo b) const ;
16: bool SoSanh(PhanSo b) const ;
17: void Nhap ();
18: };
19: #endif
PhanSo.cpp
1: #include <iostream.h>
2: #include"PhanSo.h"
3: int UocChung(int a, int b)
4: {
5: int r ;
6: while (b != 0)
7: {
8: r = a%b ;
9: a = b ;
10: b = r ;
11: }
12: return a ;
13: }
14: PhanSo::PhanSo(int tu , int mau)
15: {
16: this->Tu = tu ;
17: this->Mau = mau ;
18: ToiGian();
19: }
20: void PhanSo::Xuat() const
21: {
22:
23: if(this->Mau == 0) cout << "Error \n" ;
24: else
25: if(this->Mau != 1)
26: cout << Tu << "/" << Mau ;
27: }
28: PhanSo PhanSo::Chia(PhanSo b) const
29: {
30:
31: //kq.Tu = Tu*b.Mau;
32: //kq.Mau = Mau*b.Tu;
33: //kq.ToiGian();
34: //return kq;
35: return PhanSo(this->Tu*b.Mau,this->Mau*b.Tu);
36: }
37: void PhanSo::ToiGian()
38: {
39: int UCLN = UocChung(Tu,Mau);
40: Tu /= UCLN;
41: Mau/= UCLN;
42: if(Mau < 0)
43: {
44: Tu = -Tu;
45: Mau = -Mau;
46: }
47: }
48: void PhanSo::Nhap()
49: {
50: cout << "Tu So: " ; cin >> Tu ;
51: do {
52: cout << "Mau So (Khac 0): ";cin >> Mau ;
53: }
54: while (Mau == 0);
55: this->ToiGian();
56: }
57: bool PhanSo::SoSanh(PhanSo b) const
58: {
59: return this->Tu*b.Mau < this->Mau*b.Tu;
60: }
61: PhanSo PhanSo::Cong(PhanSo b) const
62: {
63: return PhanSo((Tu*b.Mau) + (Mau*b.Tu),Mau*b.Mau);
64: }
65: PhanSo PhanSo::Nhan(PhanSo b) const
66: {
67: return PhanSo(this->Tu*b.Tu,this->Mau*b.Mau);
68: }
69: PhanSo PhanSo::Tru(PhanSo b) const
70: {
71: return PhanSo((Tu*b.Mau) - (Mau*b.Tu),Mau*b.Mau);
72: }
Main.cpp
1: #include <iostream.h>
2: #include "PhanSo.h"
3: int Menu();
4: void Run(int task);
5: void NhapLieu(PhanSo,PhanSo);
6: void main ()
7: {
8: int task;
9: while(task=Menu())
10: Run(task);
11: }
12: void Run(int task)
13: {
14: PhanSo A,B,C;
15: switch (task)
16: {
17:
18: case 1:
19: cout << "Nhap Phan So Thu Nhat\n" ;
20: A.Nhap();
21: cout << "Nhap Phan So Thu Hai \n" ;
22: B.Nhap();
23: C = A.Cong(B);
24: cout << "ket qua :"; A.Xuat();cout << " + ";
25: B.Xuat();cout << " = " ; C.Xuat();
26: cout << endl;
27: cout << "------------------" << endl;
28: break;
29: case 2:
30: cout << "Nhap Phan So Thu Nhat\n" ;
31: A.Nhap();
32: cout << "Nhap Phan So Thu Hai \n" ;
33: B.Nhap();
34: C = A.Tru(B);
35: cout << "ket qua :"; A.Xuat();cout << " - ";
36: B.Xuat();cout << " = " ; C.Xuat();
37: cout << endl;
38: cout << "------------------" << endl;
39: break;
40: case 3:
41: cout << "Nhap Phan So Thu Nhat\n" ;
42: A.Nhap();
43: cout << "Nhap Phan So Thu Hai \n" ;
44: B.Nhap();
45: C = A.Nhan(B);
46: cout << "ket qua :"; A.Xuat();cout << " x ";
47: B.Xuat();cout << " = " ; C.Xuat();
48: cout << endl;
49: cout << "------------------" << endl;
50: break;
51: case 4:
52: cout << "Nhap Phan So Thu Nhat\n" ;
53: A.Nhap();
54: cout << "Nhap Phan So Thu Hai \n" ;
55: B.Nhap();
56: C = A.Chia(B);
57: cout << "ket qua : ("; A.Xuat();
58: cout << ") / (";B.Xuat();
59: cout << ") = " ;C.Xuat() ;cout << endl;
60: cout << "------------------" << endl;
61: break;
62: }
63: }
64: int Menu()
65: {
66: cout << "Menu: \n";
67: cout << "1.Cong Hai Phan So \n" ;
68: cout << "2.Tru Hai Phan So \n" ;
69: cout << "3.Nhan Hai Phan So \n" ;
70: cout << "4.Chia Hai Phan So \n" ;
71: cout << "0.Thoat\n" ;
72: cout << "Ban chon:";
73: int n ;
74: cin >> n ;
75: return n ;
76: }
Chạy chương trình và xem kết quả (Ctrl + F5)
Post cả bài Số Phức đeyyy….
Thanks! ^^
LikeLike
Cứ từ từ kekke
LikeLike
sau một năm gặp lại Nguyên, một sự khác biệt rất lớn. Chúc Nguyên thành công.Cố lên! một năm đủ gặt hái nhiều thành công!OK
LikeLike
Chào !chân thành cảm ơn bạn
LikeLike
thx bạn Nguyên thật. Cố gắng hơn nữa nha Nguyên ^^
LikeLike
kekkeke Try my best !
LikeLike
Bạn có thể tối giản hơn nữa code của mình, những phần giống nhau, sử dụng nhiều lần bạn nên dùng cách tạo hàm rồi truyền tham số
LikeLike
thanks bạn. do mấy phần đó trong Demo thoi mà, nên mình copy paste ^^
LikeLike
Cái này rất bổ ích đối với tui mong còn co nhiều cái như vậy nữa
LikeLike