Tải bản đầy đủ

Báo Cáo Hướng Dẫn Giải Bài Tập Lập Trình Hướng Đối Tượng c++

ỦY BAN NHÂN DÂN TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
KHOA KỸ THUẬT – CÔNG NGHỆ
š¯š

BÀI HƯỚNG DẪN
MÔN HỌC
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

ĐỀ TÀI: HƯỚNG DẪN GIẢI BÀI TẬP TRÊN VISUAL STUDIO
GVHD: NGUYỄN TẤN LỘC
Lớp: D16HT01
Sinh viên: NGUYỄN TẤN THÀNH
MSSV: 1624801040060

BÌNH DƯƠNG 2017-2018

1


MỤC LỤC


2


LỜI MỞ ĐẦU
Lập trình hướng đối tượng là một phương pháp lập trình cho phép thao tác trực tiếp trên các
đối tượng cụ thể, một chương trình viết theo hướng đối tượng được chia thành các lớp đối
tượng, từ đó cho phép các đối tượng này có thể kế thừa đặc tính của các đối tượng khác và
hoạt động thông qua sự tương tác với các đối tượng khác nhờ cơ chế truyền thông báo. Từ đó,
giúp việc lập trình theo hướng đối tượng có được sự linh hoạt, tiện ích cho việc xây dựng và
phát triển phần mềm.
Ngày nay, lập trình hướng đối tượng được áp dụng rộng rãi trên thế giới, nó hầu như có thể
thay thế hoàn toàn các phương pháp lập trình truyền thống để mang lại sự hiệu quả và tiện ích
cho người sử dụng. Các ngôn ngữ được sử dụng mạnh mẽ trong lập trình hướng đối tượng:
C#, C++, Visual Basic, Java,.. Vì vậy, việc nghiên cứu phương pháp lập trình mới này thật sự
quan trọng.
Cuốn bài hướng dẫn này là tổng hợp ngắn gọn và kèm theo bài tập minh họa cơ bản về lập
trình hướng đối tượng trên C++. Nhằm phục vụ cho các bạn chưa vững kiến thức cơ bản về
lập trình hướng đối tượng hoặc các bạn muốn củng cổ kiến thức nền tảng về lập trình hướng
đối tượng.

3


CHƯƠNG 1: CÔNG CỤ VISUAL STUDIO 2017
I.
Giới thiệu công cụ hỗ trợ lập trình Visual Studio 2017
Visual Studio 2017 Community là một IDE (Integrated Development Enviroment), là môi
trường phát triển tích hợp, một loại phần mềm giúp các nhà phát triển phần mềm phát triển
nên các loại phần mềm khác. C++ là một ngôn ngữ lập trình đa mẫu hình tự do có kiểu tĩnh và
hỗ trợ lập trình thủ tục, dữ liệu trừu tượng, lập trình hướng đối tượng và lập trình đa hình.
II.
Cài đặt Visual Studio Community 2017
Để cài đặt Visual Studio Community 2017 (phiên bản này phù hợp cho giáo dục và miễn phí)
hay những phiên bản khác như Professional và Enterprise, độc giả cần có môi trường như sau.
1. Hệ điều hành
• Windows 10 bản Home, Professional, Education, Enterprise với bản build 1507 trở
lên.
• Window 8.1 bản Core, Professional, Enterprise với bản cập nhật 2919355.
• Window 7 bản Home Premium, Professional, Enterprise, Ultimate với bản cập


nhật mới nhất.
• Windows Server 2016 bản Standard và Datacenter.
• Windows Server 2012 R2 bản Essentials, Standard, Datacenter với bản cập nhật
2919355.
2. Về phần cứng
• CPU tốc độ 1.8 GHz trở lên, hai nhân trở lên được khuyến khích.
• RAM tối thiểu 2GB (4GB được khuyến khích).
• Ổ cứng khả dụng từ 1GB - 40GB tùy vào số lượng công cụ bạn cài đặt. Trong
phạm vi bài viết, tôi chỉ hướng dẫn cài C++ nên ổ cứng khả dụng yêu cầu khoảng
5GB.
• Độ phân giải máy tối thiếu là 720p (1280 x 720), Visual Studio sẽ hoạt động tốt từ
độ phân giải WXGA (1366 x 768) trở lên.
3. Về phần mềm
• Nền tảng .NET 4.5 trở lên được yêu cầu để cài đặt Visual Studio 2017.
• Về yêu cầu phần mềm, tùy vào gói công cụ mà bạn cài đặt, sẽ có những yêu cầu
đặc trưng phát sinh thêm.
• Tuy nhiên với công cụ lập trình C++, những yêu cầu trên là đủ để cài đặt và khởi
chạy ứng dụng viết bằng ngôn ngữ C++.
4. Cài đặt Visual Studio Community 2017
Link tải: https://visualstudio.microsoft.com/downloads/
Sau khi tải Visual Studio Community 2017 Installer xong, tập tin sẽ có dạng như sau.

Chạy tập tin trên với quyền Admin và chọn Continue khi có hộp thoại thông báo hiện ra
4


Nếu có yêu cầu Update, chọn Update (trong trường hợp trước đó bạn đã cài đặt Visual Studio
2017 rồi).

Sau khi hoàn tất các bước trên, một danh sách các công cụ được yêu cầu cài đặt sẽ hiện ra, tùy
vào mục đích sử dụng mà bạn có thể cân nhắc để cài đặt sao cho phù hợp với nhu cầu.
Trong phạm vi bài viết, do chỉ cần cài công cụ để lập trình C++, nên ta chọn công cụ Desktop
development with C++ (công cụ này chiếm khoảng 4.5 GB bộ nhớ) và xác định địa chỉ đường
dẫn sẽ lưu công cụ.

5


Lưu ý: Dù bạn chọn địa chỉ đường dẫn lưu công cụ này ở đâu, mặc định Visual Studio 2017 sẽ
tải dữ liệu tạm vào partition chứa hệ thống (thông thường là C://) rồi mới tiến hành cài đặt ở
địa chỉ đường dẫn mà bạn thiết lập và sẽ tiến hành xóa dữ liệu tạm ấy khi cài đặt xong. Do đó
hãy đảm bảo ổ C của bạn nên có dung lượng bộ nhớ khả dụng lớn hơn dung lượng bộ nhớ mà
công cụ yêu cầu.
Sau khi thiết lập xong, chọn Install và chờ đợi việc cài đặt hoàn tất.

III.

Hướng dẫn tạo 1 project trong Microsoft Visual Studio (2017)

Click double chuột trái vào Icon Visual Studio 2017 để khởi động chương trình.

6


Sau khi khởi động, cửa sổ làm việc của chương trình sẽ có dạng như sau:

Như các bạn thấy thì giao diện chương trình tương đối đơn giản và trực quan. Mục Start bao
gồm một số thao tác với project, mục Recent hiển thị những project mà bạn đã làm việc trước
đó. Cả hai mục trên đều nằm trong tab Start Page của Visual Studio. Lưu ý là ở mỗi phiên bản
Visual Studio sẽ có đôi chút khác biệt ở Start Page.

CHƯƠNG 2: KIẾN THỨC NỀN TẢNG LẬP TRÌNH
HƯỚNG ĐỐI TƯỢNG
I.
Khái quát về các lệnh cơ bản trong C++
1. Khai báo thư viện C++
Để khai báo sử dụng thư viện trong C++ thì ta sử dụng cú pháp sau:
#include
7


Từ khoá #include chỉ cho trình biên dịch biết rằng chúng ta cần sử dụng thư viện được khai
báo và nó sẽ tự động thêm vào cho chúng ta.
Tôi xin giới thiệu một số thư viện thường gặp trong lập trình C++:


iostream.h ( thư viện này chứa hàm xuất nhập cout và cin)



stdio.h ( nó chứa hàm scanf,printf...)



conio.h ( nó chứa hàm clrscr,getch...)



math.h ( nó chứa hàm toán học như sqrt, abs, pow)



string.h (nó chứa các hàm về chuỗi )

Đối với một chương trình C++ nhập xuất căn bản thì bắt buộc ta phải sử dụng thư
viện iostream.h.
2. Hàm Main() là gì?


Sau khi các bạn đã hiểu thế nào là thư viện và cách khai báo sử dụng một thư viện như
thế nào thì chúng ta sẽ bắt đầu vào phần tiếp theo cần tìm hiểu đó là hàm main().



Theo tiếng Anh main dịch ra có nghĩa là chính, quan trọng, vậy trong C++ nó cũng có
ý nghĩa như tên gọi đó. Trong lập trình thì trình biên dịch sẽ xử lý code từ trên xuống
dưới và từ trái qua phải. Nhưng với hàm main thì hơi đặc biệt chút, hàm main là nơi
chứa những đoạn code sẽ được chạy đầu tiên, nghĩa là khi biên dịch chương trình thì
nội dung trong hàm main sẽ được chạy đầu tiên mà không quan trọng vị trí của nó
trong file.

Ví dụ:
#include
void main()
{
int k;
cout << "Nhập k: ";
cin >> k;
system("pause");
}
Ở ví dụ này mình có sử dụng kiểu dự liệu int, kiểu này sẽ được gán cho biến k với kích thước
là 4 byte.
Ở ví dụ này mình có sử dụng hàm xuất cout, hàm này sẽ in ra màn hình một dòng chữ nào đó.
Ở ví dụ này mình có sử dụng hàm xuất cin, hàm này sẽ lấy kí tự được nhập từ bàn phím.

8


Trong một chương trình C+ thì bắt buộc phải có hàm main và bạn không thể viết nội dung
trong hàm main ở bên ngoài được vì như vậy sẽ bị báo lỗi ngay.

Khai báo, khởi tạo và sử dụng Class trong C++

II.

1. Khai báo, khởi tạo và sử dụng Class trong C++
Cú pháp:
class
{
;
}
Các loại phạm vi truy cập và ý nghĩa
Phạm vi truy cập là cách mà người lập trình quy định về quyền được truy xuất đến các thành
phần của lớp.

VÍ DỤ:
class _xe
{
private:
string nhanhieu;
int slbanhxe;
public:
void Nhapxe();
void Xuatxe();

2. Khai báo và sử dụng kế thừa
Cú pháp:
class :
{
9


}
Trong đó:


class là từ khoá để khai báo lớp.



là tên do người dùng đặt và tuân theo các quy tắc đặt tên.



là tên lớp mà ta muốn kế thừa các đặc tính của nó.

Ví dụ:
void _xe::Nhapxe()
{
cout << "\nNhap nhan hieu: ";
getline(cin, nhanhieu);
cout << "\nNhap so luong banh xe: ";
cin >> slbanhxe;
}
void _oto::xuatoto()
{
cout << "Nhan hieu la: " << nhanhieu;
cout << "so luong banh xe la: " << slbanhxe;
}

3. Tạo Project C++ đầu tiên với Visual Studio
Để tạo một project mới, các bạn có thể làm theo một trong 4 cách sau:


Vào menu File ➙ New ➙ Project.



Nhấn tổ hợp phím Ctrl + Shift + N.



Nhấn vào biểu tượng New trên thanh công cụ



Nhấn vào dòng New Project ở mục Start trong Start Page.

Một cửa sổ sẽ hiện ra như sau:

10


Visual Studio cho phép chúng ta tạo project có dạng Win32 Console Application. Cá nhân tôi
không khuyến khích các bạn tạo project theo kiểu này.

11


12


Giao diện sau khi tạo 1 Project:

13


14


Ngoài ra, Các bạn chọn mục Empty Project, đặt lại tên và đường dẫn cho project, sau đó bấm
OK. Chương trình sẽ bắt đầu quá trình khởi tạo project. Sau khi khởi tạo xong, cửa sổ làm
việc sẽ có dạng như sau:

Lưu ý là do chúng ta chọn Empty Project, chúng ta sẽ phải tự thực hiện các thao tác như viết
hàm main, khai báo một số chỉ thị include, … Khuyến khích các bạn tạo Project kiểu này.

15


Tạo file .cpp và viết chương trình
Sau khi tạo xong project, việc các bạn cần làm là tạo một file .cpp mới và bắt đầu viết chương
trình.
Chúng ta có thể thực hiện theo một trong 2 cách sau:


Nhấn chuột phải vào tên Project/Filter, chọn Add ➙ New Item.



Chọn tên Project/Filter thích hợp và nhấn tổ hợp phím Ctrl + Shift + A.

16


Sau đó chọn C++ File (.cpp), đặt lại tên và nhấn nút Add.

Tới đây các bạn đã có thể bắt đầu viết chương trình đầu tiên của mình trên Visual Studio.

Sau đó các bạn code thử vài dòng như sau:
#include
using namespace std;
void main()
{
17


system("pause");
}

Nếu các bạn thấy xuất hiện cửa sổ như bên dưới là đồng nghĩa với việc chương trình của bạn
đã sẵn sàng để viết Code.

Và ngược lại, nếu cửa sổ hiện ra như sau thì chương trình bạn đã Code sai hoặc gặp lỗi.

18


CHƯƠNG 3: GIẢI BÀI TẬP
I.
Hướng dẫn giải bài tập trên Visual Studio 2017
Link đề bài: https://drive.google.com/open?id=1U7KxCO-ERN7-uj01tqAqNsx2XNjz90l0
1. Phân tích đề bài
+ Hình vuông (đỏ): đại diện cho các lớp
+ Hình vuông (xanh): đại diện cho các thuộc tính
+ Hình tròn (đỏ): đại diện cho các phương thức

19


2. Sơ đồ Class Diagram minh họa

3. Tạo file và tiến hành Code
Tạo file .cpp và file .h
Sau khi tạo xong file Main.cpp, việc cần làm tiếp theo là tạo một file .cpp mới và file.h,
Chúng ta có thể thực hiện theo cách sau:
20




Nhấn chuột phải vào tên Project/Filter, chọn Add ➙ Class.

Sau đó chọn đặt tên cho Class ở mục Class Name, .h file và .cpp file và nhấn nút OK.

21


Giao diện sau khi tạo Class như bên dưới.

22


Theo đề thì:

Sau đó, ở phần xe.h theo như đề bài bạn có các dòng code:
#pragma once
#include
#include
using namespace std;
class _xe
{
private:
string nhanhieu;
float gia;
int namsx;

// Thư viện của string (kiểu chuỗi)

// Biến nhãn hiệu có kiểu string (chuỗi kí tự)
// Biến giá có kiểu float (Số thực)
// Biến Năm sản xuất có kiểu int (Số nguyên)
23


float trongluong;
int slbanhxe;

// Biến trong lượng kiểu float
// Biến số lượng bánh xe kiểu int

public:
_xe();
// Hàm khởi tạo mặc định
~_xe();
// Hàm hủy
_xe(string _nhanhieu, float _gia, int _namsx, float _trongluong, int _slbanhxe);
// Hàm khởi tạo có tham số truyền vào
void nhapxe();
// Hàm thực thi để Nhập dữ liệu
void xuatxe();
// Hàm thực thi để Xuất dữ liệu
};

Ở phần _xe.cpp, theo đề thì các bạn truyền giá trị vào trong các hàm đã khai báo trước đó.
Trươc tiên mình sẽ làm với khởi tạo mặc định ,với các dòng Code:
#include "_xe.h"
_xe::_xe()
{
nhanhieu = "HonDa";
gia = 10;
namsx = 1998;
trongluong = 300;
slbanhxe = 2;
}

// Hàm khởi tạo mặc định

_xe::~_xe()
{

// Hàm hủy

// gán nhãn hiệu là HonDa
// gán giá là 10
// gán năm sản xuất là 1998
// gán trọng lượng là 300
// gán số lượng bánh xe là 2

// Do không sử dụng con trỏ nên hàm hủy sẽ để
trống và nó sẽ tự động thực thi hàm hủy
}
void _xe::xuatxe()
// Hàm thực thi để xuất kết quả ra màn hình
{
cout << nhanhieu << gia << namsx << trongluong << slbanhxe;
}

Ở file Main.cpp, các bạn đưa vào các dòng Code:
#include
using namespace std;
#include"_xe.h"

// Thư viện để sử dụng Cout và Cin

void main()
{
24


_xe xe_macdinh;
xe_macdinh.xuatxe();

// Đổi tên _xe thành xe_macdinh
// Sử dụng (.) để gọi lại hàm Xuất cho nó thực thi

system("pause");

// Đây là lệnh dừng màn hình

}
Sau khi chạy chương trình chúng ta sẽ thu được kết quả như bên dưới:

Nhưng nếu trình bày như trên thì Code chúng ta sẽ vừa xấu vừa khó nhìn.
Vậy, chúng ta sẽ thay đổi một xíu:
Ở phần _xe.cpp bạn gõ vào các dòng Code:
void _xe::xuatxe()
{
cout << nhanhieu << "||" << gia << "||" << namsx << "||" << trongluong << "||" <<
slbanhxe << endl;
}

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×