1. Xây dựng lớp phân số mô tả đối tượng phân số gồm các thành phần: * Các thành phần thuộc tính: - a: mô tả phần tử số; b: mô tả phần mẫu số. * Các phương thức: - Phương thức nhập phân số - Phương thức hiển thị phân số (dạng a/b) Đề bài: Viết chương trình thực hiện việc nhập vào hai phân số a,b. Thực hiện tính tổng, hiệu, thích, thương hai phân số a,b trên theo phương pháp - Sử dụng phương thức - Sử dụng hàm tự do - Sử dụng hàm bạn. - Sử dụng phương thức toán tử Demo: - Sử dụng phương thức CODE: Select All #include <iostream>using namespace std;class phanso{private: double a; double b;public: void nhapsl() { cout << "\n nhap tu so :"; cin >> a; cout << " nhap mau so :"; cin >> b; } void insl() { cout << " " << a << "/" << b; } phanso cong(phanso p2) { phanso p; p.a = a*p2.b + b*p2.a; p.b = b*p2.b; return p; } phanso tru(phanso p2) { phanso p; p.a = a*p2.b - b*p2.a; p.b = b*p2.b; return p; } phanso nhan(phanso p2) { phanso p; p.a = a * p2.a; p.b = b * p2.b; return p; } phanso chia(phanso p2) { phanso p; p.a = a * p2.b; p.b = b * p2.b; return p; }};void main(){ phanso p, p1, p2;; cout << "Nhap vao so thu nhat: "; p1.nhapsl(); cout << "\nNhap vao so thu hai: "; p2.nhapsl(); cout << "\nTong phan so la:"; p = p1.cong(p2); p.insl(); cout << "\nHieu phan so la:"; p = p1.tru(p2); p.insl(); cout << "\nTich phan so la:"; p = p1.nhan(p2); p.insl(); cout << "\nThuong phan so la:"; p = p1.chia(p2); p.insl(); cout << "\n\n"; system("pause");} - Sử dụng hàm tự do CODE: Select All #include <iostream>using namespace std;class phanso{public: double a; double b; void nhapsl() { cout << "\n nhap tu so :"; cin >> a; cout << " nhap mau so :"; cin >> b; } void insl() { cout << " " << a << "/" << b; }}; phanso cong(phanso p1, phanso p2) { phanso p; p.a = p1.a*p2.b + p1.b*p2.a; p.b = p1.b*p2.b; return p; } phanso tru(phanso p1, phanso p2) { phanso p; p.a = p1.a*p2.b - p1.b*p2.a; p.b = p1.b*p2.b; return p; } phanso nhan(phanso p1, phanso p2) { phanso p; p.a = p1.a * p2.a; p.b = p1.b * p2.b; return p; } phanso chia(phanso p1, phanso p2) { phanso p; p.a = p1.a * p2.b; p.b = p1.b * p2.a; return p; }void main(){ phanso p, p1, p2;; cout << "Nhap vao so thu nhat: "; p1.nhapsl(); cout << "\nNhap vao so thu hai: "; p2.nhapsl(); cout << "\nTong phan so la:"; p = cong(p1, p2); p.insl(); cout << "\nHieu phan so la:"; p = tru(p1, p2); p.insl(); cout << "\nTich phan so la:"; p = nhan(p1, p2); p.insl(); cout << "\nThuong phan so la:"; p = chia(p1, p2); p.insl(); cout << "\n\n"; system("pause");} - Sử dụng hàm bạn (Friend) CODE: Select All #include <iostream>using namespace std;class phanso{private: double a; double b;public: void nhapsl() { cout << "\n nhap tu so :"; cin >> a; cout << " nhap mau so :"; cin >> b; } void insl() { cout << " " << a << "/" << b; } friend phanso cong(phanso p1, phanso p2) { phanso p; p.a = p1.a*p2.b + p1.b*p2.a; p.b = p1.b*p2.b; return p; } friend phanso tru(phanso p1, phanso p2) { phanso p; p.a = p1.a*p2.b - p1.b*p2.a; p.b = p1.b*p2.b; return p; } friend phanso nhan(phanso p1, phanso p2) { phanso p; p.a = p1.a * p2.a; p.b = p1.b*p2.b; return p; } friend phanso chia(phanso p1, phanso p2) { phanso p; p.a = p1.a * p2.b; p.b = p1.b*p2.a; return p; }};void main(){ phanso p, p1, p2;; cout << "Nhap vao so thu nhat: "; p1.nhapsl(); cout << "\nNhap vao so thu hai: "; p2.nhapsl(); cout << "\nTong phan so la:"; p = cong(p1, p2); p.insl(); cout << "\nHieu phan so la:"; p = tru(p1, p2); p.insl(); cout << "\nTich phan so la:"; p = nhan(p1, p2); p.insl(); cout << "\nThuong phan so la:"; p = chia(p1, p2); p.insl(); cout << "\n\n"; system("pause");} Hàm bạn CODE: Select All #include <iostream>using namespace std;#define max 50int n;class vector{private: float v[max];public: vector() { for (int i = 1; i <= n; i++) { v[i] = 0; } } void nhapsl() { for (int i = 1; i <= n; i++) { cout << "v[" << i << "]: "; cin >> v[i]; } } void insl() { for (int i = 1; i <= n; i++) { cout << " " << v[i]; } cout << endl; } friend vector cong(vector a, vector b) { vector c; for (int i = 1; i <= n; i++) { c.v[i] += a.v[i] + b.v[i]; } return c; } friend vector hieu(vector a, vector b) { vector c; for (int i = 1; i <= n; i++) { c.v[i] += a.v[i] - b.v[i]; } return c; } friend vector nhan(vector a, vector b) { vector c; for (int i = 1; i <= n; i++) { c.v[i] += a.v[i] * b.v[i]; } return c; }};int main(){ vector a,b,d; cout << "Nhap so phan tu cua vector a : "; cin >> n; cout << "Nhap vector a : \n"; a.nhapsl(); cout << "\nNhap vector b : \n"; b.nhapsl(); cout << "\nVector a: "; a.insl(); cout << "Vector b: "; b.insl(); d = cong(a,b); cout << "Tong 2 vector: "; d.insl(); d = hieu(a,b); cout << "Hieu 2 vector: "; d.insl(); d = nhan(a,b); cout << "Nhan 2 vector: "; d.insl(); system("pause");} Sử dụng hàm toán tử CODE: Select All #include <iostream>#include <math.h>using namespace std;class phanso{public: double a; double b; void nhapsl() { cout << "\n nhap tu so :"; cin >>a; cout << " nhap mau so :"; cin >> b; } void insl() { cout << " " << a << "/" << b; }}; phanso operator +(phanso p1, phanso p2) { phanso p; p.a = p1.a*p2.b + p1.b*p2.a; p.b = p1.b*p2.b; return p; } phanso operator -(phanso p1, phanso p2) { phanso p; p.a = p1.a*p2.b - p1.b*p2.a; p.b = p1.b*p2.b; return p; } phanso operator *(phanso p1, phanso p2) { phanso p; p.a = p1.a * p2.a; p.b = p1.b*p2.b; return p; } phanso operator /(phanso p1, phanso p2) { phanso p; p.a = p1.a * p2.b; p.b = p1.b*p2.a; return p; }void main(){ phanso p, p1, p2;; cout << "Nhap vao so thu nhat: "; p1.nhapsl(); cout << "\nNhap vao so thu hai: "; p2.nhapsl(); cout << "\nTong phan so la:"; p = p1 + p2; p.insl(); cout << "\nHieu phan so la:"; p = p1 - p2; p.insl(); cout << "\nTich phan so la:"; p = p1 * p2; p.insl(); cout << "\nThuong phan so la:"; p = p1 / p2; p.insl(); cout << "\n\n"; system("pause");}