Bài tập hướng đối tượng c++
Trung Tâm Việc Làm Vui Academy, Tìm Việc làm Nhanh 24h, ViecLamVui là dự án giữa MBN và Cổng Tri Thức Thánh Gióng Trung Ương Hội Liên Hiệp Thanh Niên Địa chỉ: L3 Tòa nhà MBN Tower 365 Lê Quang Định, phường 5, quận Bình Thạnh, Thành phố Hồ Chí Minh, Việt Nam Email: Không cần làm hồ sơ CV trên máy tính. Click chọn điền thông tin bằng điện thoại. Chat Nhanh có việc ngay 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é! Để 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: Xây dựng lớp Phanso gồm: Thuộc Tính: tuso, mauso. Phương thức:
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 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: 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:
Xây dựng chương trình chính:
Lời Giải: #include 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 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. |