Đây là nội dung bài viết cuối cùng trong Series Lập Trình hướng Đối Tượng. Với trong bài viết này bọn họ sẽ làm một vài bài tập xây dựng hướng đối tượng tổng phù hợp nhé.

Bạn đang xem: Bài tập lập trình hướng đối tượng cơ bản, nâng cao

Sau đây, họ sẽ cùng nhau đi làm 1 bài xích tập lập trình sẵn hướng đối tượng người dùng khá cơ bản:


Bài tập thiết kế hướng đối tượng người dùng cơ bản

Bài tập xây dựng lớp Phân số

Đề 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 chế tạo ra Không Tham Số, Hàm HủyNhập , XuấtCong(), Tru(), Nhan(), Chia()

Tính Tổng, Hiệu, Tích, yêu quý 2 phân số obj1 và obj2 rồi in hiệu quả ra màn hình

Code desgin class Phân số:


Bài Tập làm chủ Vận rượu cồn viên

Đề bài

Xây dựng lớp di chuyển viên VanDongVien gồm:

Thuộc tính: hoten (chuỗi ký kết 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 ko tham số.Thiết lập 5 tham sốHủy bỏNạp ck toán tử nhập >>Nạp ck toán tử xuất Nạp ck toán tử đối chiếu > (một vận động viên là to hơn nếu độ cao lớn hơn,trong trường hợp độ cao bằng nhau thì xét cân nặng lớn hơn)

Xây dựng lịch trình chính:

Khai báo p là đối tượng người tiêu dùng lớp Vandongvien (sử dụng hàm thiết lập cấu hình 5 tham số), hiển thị tin tức của p. Ra màn hình.Nhập vào một trong những mảng tất cả n di chuyển viên.Hiển thị danh sách đã nhập ra màn hình.Sắp xếp mảng vẫn nhập theo thứ tự tăng dần, hiển thị danh sách đã sắp tới ra màn hình.

Lời Giải:


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#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 tháng 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

cout
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 > arr)
swap(arr, arr);

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;
for (int i = 0; i n; ++i) cin >> arr;
cout endl endl;
for (int i = 0; i n; ++i) cout arr endl;
cout "Sort" endl;
Bubblesort(arr,n);
for (int i = 0; i n; ++i) cout arr endl;
return 0;

Input


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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

Bài Tập OOP nâng cao

Bài Tập cai quản bán vé vật dụng bay

Đề bài

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

Thuộc tính: tenchuyen, ngaybay, giavePhương thức:Cấu tửHủyNhapXuatgetgiave() : hàm trả về giá vé

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

Thuộc tính: hoten, gioitinh, tuoiPhương thức:Cấu tửHủyNhậpXuấtThuộc tính: Vemaybay *ve; int soluong;Phương thức:Cấu tửHủyNhậpXuấttongtien(): trả về toàn bô tiền yêu cầu trả của hành khách

Chương trình chính: Nhập vào 1 danh sách n quý khách (n nhập từ bỏ bàn phím).Hiển thị danh sách hành khách cùng số tiền buộc phải trả tương ứng của mỗi khách hàng.Sắp xếp danh sách hành khách hàng theo chiều giảm dần của Tổng tiền.

Xem thêm: Đề Cương Ôn Tập Toán 9 Học Kì 2 Violet, Đề Cương Ôn Tập Học Kì Ii Toán 9

Lời Giải


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
#include
using namespace std;
class Date

protected:
int day, month, year;
public:
Date()

this->day = this->month = this->year = 0;

~Date()

this->day = this->month = this->year = 0;

void input()

cout "Nhap Ngay: ";
cin >> this->day;
cout "Nhap Thang: ";
cin >> this->month;
cout "Nhap Nam: ";
cin >> this->year;

void output()

cout "Ngay/Thang/Nam: " this->day "/" this->month "/" this->year endl;

;
//-------------------------------------------------------------//
class Vemaybay

protected:
string tenchuyen;
Date ngaybay;
int giave;
public:
Vemaybay()

this->tenchuyen = "";
this->giave = 0;

~Vemaybay()

this->tenchuyen = "";
this->giave = 0;

void input()

cin.ignore();
cout "Nhap Ten Chuyen: "; fflush(stdin); getline(cin, this->tenchuyen);
cout "Nhap ngay lập tức Bay: " endl;
ngaybay.input();
cout "Nhap Gia Ve: "; cin >> this->giave;

void output()

cout "Ten Chuyen: " this->tenchuyen endl;
cout "Ngay Bay: " endl " ";
this->ngaybay.output();
cout "Gia Ve: " this->giave endl;

int getgiave()

return this->giave;

;
class Nguoi

protected:
string hoten, gioitinh;
int tuoi;
public:
Nguoi()

this->hoten = this->gioitinh = "";
this->tuoi = 0;

~Nguoi()

this->hoten = this->gioitinh = "";
this->tuoi = 0;

void input()

cin.ignore();
cout "Nhap Ho Ten: "; fflush(stdin); getline(cin, this->hoten);
cout "Nhap Gioi Tinh: "; fflush(stdin); getline(cin, this->gioitinh);
cout "Nhap Tuoi: "; cin >> this->tuoi;

void output()

cout "Ho Ten: " this->hoten endl;
cout "Gioi Tinh: " this->gioitinh endl;
cout "Tuoi: " this->tuoi endl;

;
class Hanhkhach : public Nguoi

protected:
int soluong;
//Vemaybay *ve;
Vemaybay ve<1000>;
int tongtien;
public:
Hanhkhach()

this->soluong = 0;
//this->ve = new Vemaybaysoluong>;
vesoluong>;
tongtien = 0;

~Hanhkhach()

soluong = 0;
delete <>ve;
tongtien = 0;

void input()

Nguoi :: input();
cout "Nhap So Luong Ve hanh hao Khach da Mua: "; cin >> this->soluong;
//ve = new Vemaybaysoluong>;
vesoluong>;
for (int i = 0; i this->soluong; ++i)

ve.input();
tongtien += ve.getgiave();


void output()

cout "- Thong Tin Khach Hang: " endl;
Nguoi :: output();
cout "- Thong Tin Chuyen Bay: " endl;
for (int i = 0; i this->soluong; ++i)

ve.output();
cout endl;

cout endl;

bool operator (const Hanhkhach &obj)

if (this->tongtien
else return false;

;
//----------------------------------------------------------//
void swap(Hanhkhach &a, Hanhkhach &b)

Hanhkhach temp = a;
a = b;
b = temp;

void Bubblesort(Hanhkhach arr<>, int n)

for (int i = 0; i n - 1; ++i)
for (int j = 0; j n - i - 1; ++j)
if (arr arr)
swap(arr, arr);

//----------------------------------------------------------//
int main()

cout "Nhap So Luong Khach Hang: "; int n; cin >> n;
Hanhkhach *arr = new Hanhkhach;
for (int i = 0; i n; ++i) arr.input();
cout endl endl "Output" endl endl;
for (int i = 0; i n; ++i)

arr.output();
cout endl "------------------" endl endl;

cout "After Sort: " endl;
Bubblesort(arr, n);
for (int i = 0; i n; ++i)

arr.output();
cout endl "------------------" endl endl;

return 0;

Input


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
3
Nguyen Van A
Nam
20
2
Ha Noi - nhị Phong
10 2 2020
500000
Hai Phong - Ha Noi
15 2 2020
450000
Nguyen Van B
Nam
21
1
Ha Noi - TP.Ho chi Minh
20 2 2020
1500000
Nguyen Thi C
Nu
19
3
Ha Noi - domain authority Nang
19 2 2020
1200000
Ha Noi - Hue
18 2 2020
1250000
Hue - domain authority Nang
22 2 2020
500000

Output


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
Output
- Thong Tin Khach Hang:
Ho Ten: Nguyen Van A
Gioi Tinh: Nam
Tuoi: 20
- Thong Tin Chuyen Bay:
Ten Chuyen: Ha Noi - hai Phong
Ngay Bay:
Gia Ve: 500000
Ten Chuyen: nhị Phong - Ha Noi
Ngay Bay:
Gia Ve: 450000
------------------
- Thong Tin Khach Hang:
Ho Ten: Nguyen Van B
Gioi Tinh: Nam
Tuoi: 21
- Thong Tin Chuyen Bay:
Ten Chuyen: Ha Noi - TP.Ho đưa ra Minh
Ngay Bay:
Gia Ve: 1500000
------------------
- Thong Tin Khach Hang:
Ho Ten: Nguyen Thi C
Gioi Tinh: Nu
Tuoi: 19
- Thong Tin Chuyen Bay:
Ten Chuyen: Ha Noi - da Nang
Ngay Bay:
Gia Ve: 1200000
Ten Chuyen: Ha Noi - Hue
Ngay Bay:
Gia Ve: 1250000
Ten Chuyen: Hue - domain authority Nang
Ngay Bay:
Gia Ve: 500000
------------------
After Sort:
- Thong Tin Khach Hang:
Ho Ten: Nguyen Thi C
Gioi Tinh: Nu
Tuoi: 19
- Thong Tin Chuyen Bay:
Ten Chuyen: Ha Noi - da Nang
Ngay Bay:
Gia Ve: 1200000
Ten Chuyen: Ha Noi - Hue
Ngay Bay:
Gia Ve: 1250000
Ten Chuyen: Hue - da Nang
Ngay Bay:
Gia Ve: 500000
------------------
- Thong Tin Khach Hang:
Ho Ten: Nguyen Van B
Gioi Tinh: Nam
Tuoi: 21
- Thong Tin Chuyen Bay:
Ten Chuyen: Ha Noi - TP.Ho đưa ra Minh
Ngay Bay:
Gia Ve: 1500000
------------------
- Thong Tin Khach Hang:
Ho Ten: Nguyen Van A
Gioi Tinh: Nam
Tuoi: 20
- Thong Tin Chuyen Bay:
Ten Chuyen: Ha Noi - nhị Phong
Ngay Bay:
Gia Ve: 500000
Ten Chuyen: nhị Phong - Ha Noi
Ngay Bay:
Gia Ve: 450000
------------------

Trong bài tập lập trình sẵn hướng đối tượng người sử dụng số 3 này, mình tất cả 1 để ý nhỏ.Nếu không chuẩn bị xếp các hành khách hàng theo tổng tiền, thì mình vẫn có thể khai báo ve là 1 trong con trỏ loại Vemaybay, dẫu vậy khi mình tiến hành sắp xếp, mình đề xuất đổi chỗ những ô nhớ cất hành khách. Giả dụ vẫn khai báo Vemaybay *ve, tức là ve sẽ được lưu trong bộ nhớ lưu trữ chỉ đọc, nên khi đổi chỗ sẽ gây lỗi Segmentation Fault.

*
*

Cách bóc code C++ thành tệp tin .h cùng .cpp



Tính Đa Hình vào Lập Trình phía Đối Tượng



Bài Tập C++ về tính Kế Thừa



Tính kế thừa Trong Lập Trình phía Đối Tượng


Nạp ông chồng Hàm với Nạp ông xã Toán Tử


Hàm các bạn Và Lớp các bạn Trong C++


theo dõi
Kết nối với
Thông báo của
bình luận theo dõi mới
Label
Name*
Email*
Website
Kết nối với
Label
Name*
Email*
Website
2 phản hồi
bình luận nội tuyến
Xem tất cả bình luận
Tải thêm bình luận
Khóa học tập miễn phí

Blog chia sẻ kiến thức xây dựng của Hiếu, xây dựng cộng đồng những tín đồ học lập trình. Cho đi kiến thức và kỹ năng mình gồm là cách học tập tác dụng nhất


Báo lỗi / liên hệ / hợp tác ký kết / Quảng cáo
Blogger
Facebook
Linkedin
Discord
Youtube

BÀI VIẾT HAY


Bài 1. Giới thiệu khóa học “Học C Bá Đạo”


1000 bài bác tập thiết kế C/C++ có lời giải của thầy Khang


Kiểm tra số nguyên tố áp dụng C/C++ và Java


CHUYÊN MỤC HAY


- BẠN BÈ và ĐỐI TÁC -

---

© 2018-2020. Bản quyền trực thuộc Lập Trình ko Khó. Privacy và Terms


2
0
Rất thích lưu ý đến của bạn, hãy bình luận.x
()
x
| Reply
Insert
NHIỀU BÀI VIẾT HƠN

Bài Tập C++ về tính Kế Thừa


Nạp chồng Hàm với Nạp ck Toán Tử