Một số bài tập lập trình hướng đối tượng c++ có lời giải dễ hiểu nhất

Lập trình hướng đối tượng chính là kiến thức cơ bản của hầu hết tất cả những ngôn ngữ lập trình hiện nay. Chính vì vậy, chỉ cần bạn hiểu sâu thì có thể áp dụng chúng một cách dễ dàng. Trong bài viết sau, chúng tôi sẽ giới thiệu đến bạn một số bài tập lập trình hướng đối tượng c++ có lời giải dễ hiểu nhất. Cùng tìm hiểu nhé!

Một số bài tập lập trình hướng đối tượng c++ có lời giải dễ hiểu nhất

Lập trình hướng đối tượng chính là kiến thức cơ bản của hầu hết tất cả những ngôn ngữ lập trình hiện nay

Download bài tập lập trình hướng đối tượng c++ có kèm lời giải ngay tại đây

Để xem các bài tập lập trình hướng đối tượng C++ chi tiết nhất, cụ thể nhất bạn hãy tải ngay bộ tài liệu sau:

Download

Bài tập xây dựng lớp phân số – Bài tập lập trình hướng đối tượng c++ có lời giải

Đề bài:

Xây dựng lớp Phanso gồm:

Thuộc Tính: tuso, mauso.

Phương thức:

  • Hàm Khởi Tạo Không Tham Số, Hàm Hủy
  • Nhập , Xuất
  • Cong(), Tru(), Nhan(), Chia()

Tính Tổng, Hiệu, Tích, Thương 2 phân số obj1 và obj2 rồi in kết quả ra màn hình

Code xây dựng class Phân số:

#include <bits/stdc++.h>

using namespace std; 

class Phanso

{

private:

    int tuso, mauso;

public:

    Phanso()

    {

        tuso = 0;

        mauso = 1;

    }

    ~Phanso()

    {

        tuso = 0;

        mauso = 1;

    }

//—————————————————————–//

    void set()

    {

        cout << “Nhap Tu So: “; cin >> this->tuso;

        cout << “Nhap Mau So: “; cin >> this-> mauso;

    }

    void get()

    {

        cout << this->tuso << “/” << this->mauso << endl;

    }

//—————————————————————–//

    Phanso Cong(Phanso obj1, Phanso obj2)

    {

        Phanso obj3;

        obj3.tuso = obj1.tuso * obj2.mauso + obj1.mauso * obj2.tuso;

        obj3.mauso = obj1.mauso * obj2.mauso;

        return obj3;

    }

    Phanso Tru(Phanso obj1, Phanso obj2)

    {

        Phanso obj3;

        obj3.tuso = obj1.tuso * obj2.mauso – obj1.mauso * obj2.tuso;

        obj3.mauso = obj1.mauso * obj2.mauso;

        return obj3;

    }

    Phanso Nhan(Phanso obj1, Phanso obj2)

    {

        Phanso obj3;

        obj3.tuso = obj1.tuso * obj2.tuso;

        obj3.mauso = obj1.mauso * obj2.mauso;

        return obj3;

    }

    Phanso Chia(Phanso obj1, Phanso obj2)

    {

        Phanso obj3;

        obj3.tuso = obj1.tuso * obj2.mauso;

        obj3.mauso = obj1.mauso * obj2.tuso;

        return obj3;

    }

};

int main()

{

    Phanso obj1, obj2, obj3;

    obj1.set(); obj2.set();

    obj3 = obj3.Cong(obj1, obj2); obj3.get();

    obj3 = obj3.Tru(obj1, obj2); obj3.get();

    obj3 = obj3.Nhan(obj1, obj2); obj3.get();

    obj3 = obj3.Chia(obj1, obj2); obj3.get();

    return 0;

}

Input: 

1 2

3 4 

Output 

10/8

-2/8

3/8

4/6

Bài tập quản lý Vận động viên

Đề bài:

Xem thêm :   Download giáo trình quản lý dự án xây dựng chi tiết nhất

Xây dựng lớp vận động viên VanDongVien gồm:

Thuộc tính: hoten (chuỗi ký tự), tuoi (số nguyên), monthidau (chuỗi ký tự), cannang (số thực), chieucao (số thực).

Phương thức:

  • Thiết lập không tham số.
  • Thiết lập 5 tham số
  • Hủy bỏ
  • Nạp chồng toán tử nhập >>
  • Nạp chồng toán tử xuất <<
  • Nạp chồng toán tử so sánh > (một vận động viên là lớn hơn nếu chiều cao lớn hơn, trong trường hợp chiều cao bằng nhau thì xét cân nặng lớn hơn)

Xây dựng chương trình chính:

  • Khai báo p là đối tượng lớp Vandongvien (sử dụng hàm thiết lập 5 tham số), hiển thị thông tin của p ra màn hình.
  • Nhập vào một mảng gồm n vận động viên.
  • Hiển thị danh sách đã nhập ra màn hình.
  • Sắp xếp mảng đã nhập theo thứ tự tăng dần, hiển thị danh sách đã sắp ra màn hình.
Một số bài tập lập trình hướng đối tượng c++ có lời giải dễ hiểu nhất

Một số bài tập lập trình hướng đối tượng c++ có lời giải dễ hiểu nhất

Lời Giải:

Xem thêm :   TopDev - Nền tảng tuyển dụng và giới thiệu việc làm IT hàng đầu

#include <bits/stdc++.h>

using namespace std;

class VanDongVien

{

protected:

    string hoten, monthidau;

    int tuoi;

    float cannang, chieucao;

public:

    VanDongVien()

    {

        this->hoten = this->monthidau = “”;

        this->tuoi = 0;

        this->cannang = this->chieucao = 0;

    }

    VanDongVien(string hoten, string monthidau, int tuoi, float cannang, float chieucao)

    {

        this->hoten = hoten;

        this->monthidau = monthidau;

        this->tuoi = tuoi;

        this->cannang = cannang;

        this->chieucao = chieucao;

    }

    ~VanDongVien()

    {

        this->hoten = this->monthidau = “”;

        this->tuoi = 0;

        this->cannang = this->chieucao = 0;

    }

    //———————————————-//

    friend istream &operator>>(istream &is, VanDongVien &obj)

    {

        cin.ignore();

        cout << “Nhap Ho Ten: “; fflush(stdin); getline(is, obj.hoten);

        cout << “Nhap Mon Thi Dau: “; fflush(stdin); getline(is, obj.monthidau);

        cout << “Nhap Tuoi: “; is >> obj.tuoi;

        cout << “Nhap Can Nang: “; is >> obj.cannang;

        cout << “Nhap Chieu Cao: “; is >> obj.chieucao;

        return is;

    }

    friend ostream &operator<<(ostream &os, VanDongVien obj)

    {

        cout << “Ho Ten: ” << obj.hoten << endl;

        cout << “Mon Thi Dau: ” << obj.monthidau << endl;

        cout << “Tuoi: ” << obj.tuoi << endl;

        cout << “Can Nang: ” << obj.cannang << endl;

        cout << “Chieu cao: ” << obj.chieucao << endl;

        return os;

    }

    bool operator > (const VanDongVien &obj)

    {

        if (this->chieucao > obj.chieucao)

            return true;

        else if (this->chieucao < obj.chieucao)

            return false;

        else if (this->cannang > obj.cannang)

            return true;

        else

            return false;

    }

};

void swap(VanDongVien &a, VanDongVien &b)

{

    VanDongVien temp = a;

    a = b;

    b = temp;

void Bubblesort(VanDongVien arr[], int n)

{

    for (int i = 0; i < n – 1; i++)

        for (int j = 0; j < n – i – 1; j++)

            if (arr[j] > arr[j + 1])

                swap(arr[j], arr[j + 1]);

}

int main()

{  

    VanDongVien p(“Nguyen Van A”, “Bong Da”, 20, 178, 70.5);

    cout << p;

       cout << “Nhap So Luong: “; int n; cin >> n;

    VanDongVien *arr = new VanDongVien[n]; 

    for (int i = 0; i < n; ++i) cin >> arr[i];

    cout << endl << endl;

    for (int i = 0; i < n; ++i) cout << arr[i] << endl;

    cout << “Sort” << endl;

    Bubblesort(arr,n);

    for (int i = 0; i < n; ++i) cout << arr[i] << endl;

    return 0;

}

Input

3

Nguyen Van B

Cau Long

20

80

190

Nguyen Van C

Bong Chuyen

21

78

188

Nguyen Van D

Boi Loi

19

81

188

Output

Ho Ten: Nguyen Van A

Mon Thi Dau: Bong Da

Tuoi: 20

Can Nang: 178

Chieu cao: 70.5

Ho Ten: Nguyen Van B

Mon Thi Dau: Cau Long

Tuoi: 20

Can Nang: 80

Chieu cao: 190

Ho Ten: Nguyen Van C

Mon Thi Dau: Bong Chuyen

Tuoi: 21

Can Nang: 78

Chieu cao: 188

Ho Ten: Nguyen Van D

Mon Thi Dau: Boi Loi

Tuoi: 19

Can Nang: 81

Chieu cao: 188

Sort

Ho Ten: Nguyen Van C

Mon Thi Dau: Bong Chuyen

Tuoi: 21

Can Nang: 78

Chieu cao: 188

Ho Ten: Nguyen Van D

Mon Thi Dau: Boi Loi

Tuoi: 19

Can Nang: 81

Chieu cao: 188

Ho Ten: Nguyen Van B

Mon Thi Dau: Cau Long

Tuoi: 20

Can Nang: 80

Chieu cao: 190

Một số bài tập lập trình hướng đối tượng c++ có lời giải dễ hiểu nhất

Trong công việc, lập trình hướng đối tượng c++ quả thực rất hữu ích và cần thiết

Lời kết

Trong công việc sau này, lập trình hướng đối tượng c++ quả thực rất hữu ích và cần thiết. Mong rằng với những bài tập lập trình hướng đối tượng c++ có lời giải được chia sẻ bên trên sẽ giúp bạn có thêm nhiều kiến thức về ngôn ngữ lập trình này. Ngoài ra, bạn cũng có thể tham gia vào các diễn đàn, blog, trang web… để có thêm nhiều thông tin hữu ích hơn cho bản thân. 

We will be happy to hear your thoughts

Leave a reply

Wiki19.com
Logo
Enable registration in settings - general