Đây là bài viết sau cuối trong Series Lập Trình Hướng Đối Tượng. Và vào nội dung bài viết này họ vẫn có tác dụng một vài bài tập thiết kế phía đối tượng tổng hợp nhé.

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

Sau phía trên, chúng ta đã bên nhau đi làm 1 bài xích tập thiết kế hướng đối tượng người tiêu dùng tương đối cơ bản:


những bài tập lập trình hướng đối tượng người tiêu 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ơm thức:Hàm Khởi Tạo Không Tham mê Số, Hàm HủyNhập , XuấtCong(), Tru(), Nhan(), Chia()

Tính Tổng, Hiệu, Tích, Thương thơm 2 phân số obj1 và obj2 rồi in tác dụng ra màn hình

Code xây đắp class Phân số:


Bài Tập cai quản Vận hễ viên

Đề bài

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

Thuộc tính: hoten (chuỗi cam kết tự), tuoi (số nguyên), monthidau (chuỗi cam kết tự), cannang (số thực), chieucao (số thực).Pmùi hương thức:Thiết lập ko ttê mê số.Thiết lập 5 tmê mẩn sốHủy bỏNạp chồng tân oán tử nhập >>Nạp ck toán thù tử xuất Nạp ông chồng tân oán tử đối chiếu > (một đi lại viên là lớn hơn nếu chiều cao to hơn,vào ngôi trường hòa hợp độ cao cân nhau thì xét cân nặng phệ hơn)

Xây dựng công tác chính:

Khai báo p là đối tượng người dùng lớp Vandongvien (sử dụng hàm tùy chỉnh cấu hình 5 tham mê số), hiển thị thông báo của p ra màn hình.Nhập vào một mảng gồm n vận tải viên.Hiển thị list vẫn nhập ra screen.Sắp xếp mảng đang nhập theo sản phẩm công nghệ trường đoản cú tăng dần, hiển thị list vẫn sắp tới ra screen.

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;

//----------------------------------------------//
frikết thúc 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;

frikết thúc 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", đôi mươi, 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 thống trị phân phối vé lắp thêm bay

Đề bài

Xây dựng lớp Vemaycất cánh gồm:

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

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

Thuộc tính: hoten, gioitinch, tuoiPhương thơm thức:Cấu tửHủyNhậpXuấtThuộc tính: Vemaycất cánh *ve; int soluong;Pmùi hương thức:Cấu tửHủyNhậpXuấttongtien(): trả về Tổng số tiền đề nghị trả của hành khách

Cmùi hương trình chính: Nhập vào 1 danh sách n du khách (n nhập trường đoản cú bàn phím).Hiển thị list du khách và số chi phí yêu cầu trả khớp ứng của mỗi người sử dụng.Sắp xếp danh sách hành khách theo chiều giảm dần của Tổng tiền.

Xem thêm: Wamp Là Gì ? Cài Đặt Localhost Đơn Giản, Dễ Dàng Với Wamp Cài Đặt Wamp

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 sầu = 0;

~Vemaybay()

this->tenchuyen = "";
this->giave sầu = 0;

void input()

cin.ignore();
cout "Nhap Ten Chuyen: "; fflush(stdin); getline(cin, this->tenchuyen);
cout "Nhap Ngay 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->gioitinch = "";
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->gioitinch 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 Khach Da Mua: "; cin >> this->soluong;
//ve sầu = 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 - Hai 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
đôi mươi 2 2020
1500000
Nguyen Thi C
Nu
19
3
Ha Noi - Da Nang
19 2 2020
1200000
Ha Noi - Hue
18 2 2020
1250000
Hue - Da 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: Hai 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 - TPhường.Ho Chi 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 - Da 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 Chi 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 - Hai Phong
Ngay Bay:
Gia Ve: 500000
Ten Chuyen: Hai Phong - Ha Noi
Ngay Bay:
Gia Ve: 450000
------------------

Trong bài xích tập lập trình phía đối tượng người tiêu dùng số 3 này, bản thân có một lưu ý nhỏ dại.Nếu không thu xếp những du khách theo tổng chi phí, thì mình vẫn rất có thể khai báo ve sầu là 1 con trỏ hình dạng Vemaybay, mà lại Lúc mình triển khai thu xếp, mình buộc phải đổi vị trí các ô nhớ đựng hành khách. Nếu vẫn knhì báo Vemaybay *ve sầu, tức thị ve sầu sẽ tiến hành giữ trong bộ lưu trữ chỉ hiểu, nên lúc thay đổi chỗ sẽ gây nên lỗi Segmentation Fault.

*
*

Cách tách code C++ thành tệp tin .h với .cpp



Tính Đa Hình Trong Lập Trình Hướng Đối Tượng



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



Tính Kế Thừa Trong Lập Trình Hướng Đối Tượng


Nạp Chồng Hàm Và Nạp Chồng Toán thù Tử


Hàm Quý khách hàng Và Lớp quý khách hàng Trong C++


Subscribe
Connect with
Notify of
new follow-up comments
Label
Name*
Email*
Website
Connect with
Label
Name*
Email*
Website
2 Bình luận
Inline Feedbacks
View all comments
Load More Comments
Kchất hóa học miễn phí
Ưu đãi mới nhất

Mã ưu đãi giảm giá & khuyến mãi khóa đào tạo lập...


Khóa học thiết kế Java cơ bản miễn phí


Học thiết kế online với mức ngân sách ưu đãi


Lập trình WinForm với C# qua 10 ứng dụng


Học HTML5, CSS3, Bootstrap 4 và cắt Web trường đoản cú tệp tin PSD


Học Pykhông lớn từ bỏ Zero – Hero


Khóa học thiết kế Android toàn tập


Học thiết kế C/C++ TỪ A – Z


toludenim.com chia sẻ kiến thức và kỹ năng lập trình sẵn của Hiếu, chế tạo cộng đồng những người dân học lập trình. Cho đi kiến thức bản thân có là biện pháp học tập tác dụng nhất


Báo lỗi / Liên hệ / Hợp tác / Quảng cáo
toludenim.comger
Discord
Facebook
Linkedin
Youtube

BÀI VIẾT HAY


Bài 1. Giới thiệu khóa đào tạo và huấn luyện “Học C Bá Đạo”


1000 bài xích tập xây dựng C/C++ gồm 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È & ĐỐI TÁC -

---

© 2018-20trăng tròn. Bản quyền thuộc Lập Trình Không Khó. Privacy và Terms


2
0
Would love sầu your thoughts, please bình luận.x
()
x
| Reply
Insert
NHIỀU BÀI VIẾT HƠN

Lớp Và Đối Tượng Trong C++


Hàm Bạn Và Lớp Quý khách hàng Trong C++


Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *