Tải bản đầy đủ (.pdf) (12 trang)

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG - Chương 2 pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (14.98 MB, 12 trang )

1
Chương 2:
NGÔN NGỮ C++
Giáo viên: Võ Hồng Bảo Châu
Khoa CNTT trường ĐH Lạc Hồng
LẬP TRÌNH
HƯỚNG ĐỐI TƯỢNG
MỤC TIÊUMỤC TIÊU
• Sử dụng được một trình biên dịch C/C++ nào đó để viết
chương trình.
• Viết được chương trình cơ bản dùng các cấu trúc điều
khiển trên các kiểu dữ liệu cơ bản
2
OOP-CHƯƠNG 2-NGÔN NGỮ C++
NỘI DUNG CHI TIẾTNỘI DUNG CHI TIẾT
• Khái quát về ngôn ngữ C++
• Kiểu dữ liệu cơ bản, phép toán
• Nhập xuất dữ liệu
• Các cấu trúc điều khiển
• Hàm
• Mảng và mẫu tin
• Con trỏ và tham chiếu
• Nhập xuất và tập tin
3
OOP-CHƯƠNG 2-NGÔN NGỮ C++
KHÁI QUÁT VỀ C++KHÁI QUÁT VỀ C++
• 1970, Denis Ritchie (Bell Lab.) phát triển ngôn ngữ C.
– Dạng System Implementation Language (SIL)
– Phát triển từ ngôn ngữ CPL (Combined Programming Language),
BCPL (Basic CPL) và ngôn ngữ B.
– Brian Kernighan, D. Ritchie (1978), The C Programming


Language, Prentice-Hall
4
OOP-CHƯƠNG 2-NGÔN NGỮ C++
2
KHÁI QUÁT VỀ C++KHÁI QUÁT VỀ C++
• Đầu 1980, Bjarne Stroustrup phát triển ngôn ngữ C++
– Trên sơ sở ngôn ngữ Simula 67
– Tương thích hoàn toàn với C
– Mở rộng C với cấu trúc OOP
– Tên gọi “C with Classes”
– Năm 1983, Ricj Mascitti đề nghị C++
– Bjarne Stroustrup (1985), The C++ Programming Language,
Prentice-Hall
5
OOP-CHƯƠNG 2-NGÔN NGỮ C++
CẤU TRÚC CHƯƠNG TRÌNH C++CẤU TRÚC CHƯƠNG TRÌNH C++
C++
Program
C
Code
Object
Code
Execut-
able
C++
COMPILER
NATIVE
C++
TRANSLATOR
LINKER

C
COMPILER
C++
Program
Hello.cpp
Hello.obj
Hello.exe
#include <iostream.h>
void main (void)
{
cout << "Hello World\n";
}
Hello.cpp
6
OOP-CHƯƠNG 2-NGÔN NGỮ C++
MỞ RỘNG CỦA C++MỞ RỘNG CỦA C++
 Biến, đối tượng:
Có thể khai báo ở bất kỳ vị trí nào (trước khi sử dụng)
Khai báo biến còn mang ý nghĩa thực thi câu lệnh, tạo đối tượng
 Sử dụng ghi chú
 Cách 1: /* Nội dung ghi chú*/
 Cách 2: //Dòng ghi chú
7
OOP-CHƯƠNG 2-NGÔN NGỮ C++
 Khai báo hằng số
 Cách 1: #define Tên_hằng Giá_trị
 Cách 2: const Kiểu_dl Tên_hằng = Giá_trị
Trong cách 1:
 Không xác định được kiểu dữ liệu của hằng số
 Giá trị hằng không thể có cấu trúc

 Không thể xác định địa chỉ của hằng
Trong cách 2:
 Kiểu dữ liệu của hằng số được xác định
 Giá trị hằng có thể có cấu trúc
 Có thể xác định địa chỉ của hằng
8
OOP-CHƯƠNG 2-NGÔN NGỮ C++
3
LỆNH ĐƠN & LỆNH PHỨCLỆNH ĐƠN & LỆNH PHỨC
• Lệnh đơn là một
sự tính toán được
kết thúc bằng dấu
chấm phẩy.
• Nhiều lệnh đơn có
thể kết nối lại
thành một lệnh
phức bằng cách
rào chúng bên
trong các dấu
ngoặc xoắn.
{
int min, i = 10, j = 20;
min = (i < j ? i : j);
min + 5;
cout << min << '\n';
;
}
Ví dụ:
Lệnh rỗng Lệnh vô dụng
9

OOP-CHƯƠNG 2-NGÔN NGỮ C++
NHẬP XUẤT DỮ LIỆUNHẬP XUẤT DỮ LIỆU
 C++ cung cấp các lệnh nhập xuất dữ liệu trong thư
viện <iostream.h>, trong đó có các đối tượng
 Để lấy dữ liệu từ bàn phím vào biến ta dùng lệnh sau:
cin>>Biến 1>>Biến 2>> ;
 Toán tử >> của đối tượng cin lấy dữ liệu từ bàn phím đặt
vào biến bên phải nó theo thứ tự
 Với lệnh này, khi nhập giá trị cho các biến thì giữa các giá
trị phải phân cách nhau bằng Enter hoặc Space hoặc Tab
ví dụ: cin >> intVar >> floatVar;
10
OOP-CHƯƠNG 2-NGÔN NGỮ C++
NHẬP XUẤT DỮ LIỆUNHẬP XUẤT DỮ LIỆU
• Để nhập dữ liệu cho một chuỗi n ký tự
Hàm cin.getline(Tên_biến,Số_ký_tự_tối_đa) trong đó:
– Tên_biến: tên của biến chuỗi
– Số ký tự tối đa mà biến chuỗi có thể nhận
Ví dụ: char hoten[30]; cin.getline(hoten,30);
• Hàm cin>> để lại ký tự “\n” trong bộ đệm có thể làm trôi
phương thức cin.getline()
 khắc phục: dùng cin.ignore(1) để bỏ qua ký tự “\n”
11
OOP-CHƯƠNG 2-NGÔN NGỮ C++
• Để đưa dữ liệu ra màn hình ta dùng lệnh sau:
cout<<Biểu thức1<<Biểu thức 2< ;
Toán tử << sẽ đưa giá trị các biểu thức bên phải nó tới
màn hình.
• Muốn đặt con trỏ màn hình xuống đầu dòng tiếp theo ta
phải đưa ra ký tự xuống dòng ’\n’ hoặc dùng endl

cout<<Biểu thức<<’\n’;
Ví dụ:cout<<a<<c+b<<’\n’; cout<<100<<endl;
12
OOP-CHƯƠNG 2-NGÔN NGỮ C++
4
VÍ DỤ NHẬP XUẤTVÍ DỤ NHẬP XUẤT
13
OOP-CHƯƠNG 2-NGÔN NGỮ C++
• Các hàm xử lý nhập xuất: thư viện “iomanip.h”
• Để thiết lập độ rộng cho giá trị cần in
– Hàm cout.width(Số_cột)
– Hàm setw(Số_cột)
Ví dụ: cout<<setw(5)<<X;
• Để hiển thị số thực
– Hàm setf(cờ hiệu)
– Hàm precision(n) thiết lập
n số phần lẻ thập phân
Ví dụ: cout.setf(ios::showpoint)
cout.precision(2)
showpoint dấu của các biến kiểu số
hex In ra số dưới dạng hexa
dec In ra số dưới dạng cơ số 10
oct In ra số dưới dạng cơ số 8
left Căn lề bên trái
right Căn lề bên phải
internal Căn lề giữa
14
OOP-CHƯƠNG 2-NGÔN NGỮ C++
#include <iostream.h>
main(){

int age;
cout << "When were you born? ";
cin >> age;
cout << "After 10 years, you will be "
<< 2008 – age + 10 << "years old\n"
return 1;
}
15
OOP-CHƯƠNG 2-NGÔN NGỮ C++
• Phép toán gán
int y, x;
y = (x = 100);
Hay
y = x = 100;
16
OOP-CHƯƠNG 2-NGÔN NGỮ C++
5
int n, m = 10;
n = m++;
cout << n++ << endl;
int n,m = 10;
n = ++m;
cout << ++n << endl;
int n, m = 10;
n = m;
m = m + 1;
cout << n << endl;
n = n + 1;
int n,m = 10;
m = m + 1;

n = m;
n = n + 1;
cout << n << endl;
 Phép toán tăng, giảm
17
OOP-CHƯƠNG 2-NGÔN NGỮ C++
• Phép toán điều kiện
if ( a > 100.0 )
m = 5;
else m = a > 100.0 ? 5 : a + 10;
m = a + 10;
if ( a > b )
max = a; max = a > b ? a : b;
else
max = b;
18
OOP-CHƯƠNG 2-NGÔN NGỮ C++
Độ ưu tiên phép toánĐộ ưu tiên phép toán
Phép
toán
Mô tả Ưu tiên Thứ tự trong
biểu thức
Toán
hạng
Ví dụ
::
Truy cập biến toàn cục 17 Phải sang 1
::x
::
Phân định thành phần của lớp 17 Trái sang 2

NAME::x
.
Truy cập thành phần của đối tượng
hay mẩu tin
16 - nt - - nt -
obj.n
->
Truy cập đến thành phần của con trỏ
đối tượng (hoặc mẩu tin)
16 - nt - - nt -
obj->n
[]
Truy cập chỉ số 16 - nt - - nt -
a[i]
()
Gọi hàm 16 - nt -
()
Chuyển đổi kiểu 16 - nt -
int(ch)
++
Tăng sau 16 Phải sang 1
n++

Giảm sau 16 - nt - - nt -
n
19
OOP-CHƯƠNG 2-NGÔN NGỮ C++
Phép
toán
Mô tả Ưu

tiên
Thứ tự trong
biểu thức
Toán
hạng
Ví dụ
sizeof
Kích thước của đối tượng
hoặc của kiểu dữ liệu
15 - nt - - nt -
sizeof(a)
++
Tăng trước 15 - nt - - nt -
++n

Giảm trước 15 - nt - - nt -
n
~
Bitwise NOT 15 - nt - - nt -
~s
!
Phủ định 15 - nt - 1
!q
+
Chuyển thành dương 15 - nt - - nt -
+n
-
Chuyển thành âm 15 - nt - - nt -
-n
*

Lấy giá trị tại địa chỉ 15 Phải sang - nt -
*ptr
&
Truy cập địa chỉ 15 - nt - - nt -
&x
20
OOP-CHƯƠNG 2-NGÔN NGỮ C++
6
Phép
toán
Mô tả Ưu
tiên
Thứ tự trong
biểu thức
Toán
hạng
Ví dụ
new
Cấp phát bộ nhớ 15 - nt - - nt -
new p
delete
Thu hồi bộ nhớ 15 - nt - - nt -
delete p
()
Chuyển đổi kiểu 15 - nt - - nt -
(int)ch
.*
Truy cập đến thành phần của đối
tượng hay của mẩu tin
14 Trái sang 2

x.*ptr
->*
Truy cập đến thành phần của con
trỏ đối tượng (hoặc mẩu tin)
14 - nt - - nt -
p->*ptr
*
Nhân 13 - nt - - nt -
a*b
/
Chia 13 - nt - - nt -
m/n
%
Chia lấy phần dư 13 - nt - - nt -
m%n
+
Cộng 12 - nt - - nt -
m+n
-
Trừ 12 - nt - - nt -
m-n
21
OOP-CHƯƠNG 2-NGÔN NGỮ C++
Phép
toán
Mô tả Ưu
tiên
Thứ tự trong
biểu thức
Toán hạng Ví dụ

<<
Bit shift left 11 - nt - - nt -
>>
Bit shift right 11 - nt - - nt -
<
Nhỏ hơn 10 - nt - - nt -
x < y
<=
Nhỏ hơn hay bằng 10 - nt - - nt -
x <= y
>
Lớn hơn 10 - nt - - nt -
x > y
>=
Lớn hơn hay bằng 10 - nt - - nt -
x >= y
==
So sánh bằng 9 - nt - - nt -
x == y
!=
Không bằng 9 - nt - 2
x != y
&
Bitwise AND 8 - nt - - nt -
m & n
^
Bitwise XOR 7 - nt - - nt -
m ^ n
|
Bitwise OR 6 - nt - - nt -

m | n
&&
Phép toán AND 5 - nt - - nt -
p && q
||
Phép toán OR 4 - nt - - nt -
p || q
22
OOP-CHƯƠNG 2-NGÔN NGỮ C++
Phép
toán
Mô tả Ưu
tiên
Thứ tự trong
biểu thức
Toán
hạng
Ví dụ
?:
Điều kiện 3 Phải sang - nt -
q ? x : y
=
Gán 2 - nt - - nt -
n = 10
+=
Gán cộng dồn 2 - nt - - nt -
n += 10
-=
Gán trừ dồn 2 - nt - - nt -
n -= 10

*=
Gán nhân 2 - nt - - nt -
n *= 2
/=
Gán chia 2 - nt - - nt -
n /= 5
%=
Gán modulo 2 - nt - - nt -
n %= 2
&=
Gán Bitwise AND 2 - nt - - nt -
n &= mask
^=
Gán Bitwise XOR 2 - nt - - nt -
n ^= mask
|=
Gán Bitwise OR 2 - nt - - nt -
n |= mask
<<=
Gán Bit shift left 2 - nt - - nt -
n <<= 1
>>=
Gán Bit shift right 2 - nt - - nt -
n >>= 1
throw
Throw exception 1 - nt - 1
throw(20)
,
Dấu phẩy 0 Trái sang 2
++m, n

23
OOP-CHƯƠNG 2-NGÔN NGỮ C++
CẤU TRÚC ĐIỀU KIỆNCẤU TRÚC ĐIỀU KIỆN
• Tuần tự
• Cấu trúc điều kiện
• Cấu trúc lặp
24
OOP-CHƯƠNG 2-NGÔN NGỮ C++
7
CẤU TRÚC ĐIỀU KIỆNCẤU TRÚC ĐIỀU KIỆN
• Lệnh if và if-else
if (biểu thức)
lệnh;
 Lệnh switch
switch (biểu thức) {
case hằng 1:
các lệnh; break;

case hằng n:
các lệnh; break;
default:
các lệnh;
}
if (biểu thức)
lệnh 1;
else
lệnh 2;
Khi nào chúng ta nên sử dụng if-else và khi nào
chúng ta nên sử dụng switch?
25

OOP-CHƯƠNG 2-NGÔN NGỮ C++
CẤU TRÚC LẶPCẤU TRÚC LẶP
• Lệnh while; do-while
while (biểu thức)
lệnh;
 Lệnh for
for (biểu thức1; biểu thức2; biểu thức3)
lệnh;
do
lệnh;
while (biểu thức);
khởi tạo
điều kiện dừng
điều khiển lặp
Sử dụng từng kiểu lệnh lặp để in ra các số từ 0 đến 9 ?
26
OOP-CHƯƠNG 2-NGÔN NGỮ C++
LỆNH NHẢYLỆNH NHẢY
• Lệnh continue
 Lệnh break
 Lệnh goto
 Lệnh return
dừng lần lặp hiện tại của một
vòng lặp và nhảy tới lần lặp
kế tiếp
nhảy ra bên ngoài những
lệnh lặp hoặc switch và kết
thúc chúng.
nhảy trực tiếp đến nhãn được
chỉ định.

cho phép một hàm trả về một
giá trị cho thành phần gọi nó.
27
OOP-CHƯƠNG 2-NGÔN NGỮ C++
• Lưu ý, trong C/C++ không có kiểu luận lý, nên các biểu
thức có giá trị nguyên.
• Giá trị khác không, mang ý nghĩa đúng. Ngược lại, mang ý
nghĩa sai
Ví dụ: int a=3<1  a=?
28
OOP-CHƯƠNG 2-NGÔN NGỮ C++
8
CON TRỎCON TRỎ
• Con trỏ đơn giản chỉ là địa chỉ của một vị trí bộ nhớ và
cung cấp cách gián tiếp để truy xuất dữ liệu trong bộ nhớ
• Ví dụ
it num = 10;
int *ptr1 = &num;
cout << *ptr1;
10num
1000
1000
ptr1
2000
29
OOP-CHƯƠNG 2-NGÔN NGỮ C++
CẤP PHÁT BỘ NHỚ ĐỘNGCẤP PHÁT BỘ NHỚ ĐỘNG
• Trong C++: sử dụng các toán tử
– Cấp phát: dùng toán tử new
– Hủy bỏ: dùng toán tử delete

Ví dụ: float *p,*q; p=new float; q= new float[10]; delete p;
void Foo (void)
{
int *ptr = new int;
char *str = new char[10];
//
delete ptr;
delete [ ]str;
}
30
OOP-CHƯƠNG 2-NGÔN NGỮ C++
BIẾN THAM CHIẾUBIẾN THAM CHIẾU
• Trong C++: biến tham chiếu có đặc điểm
– Không được cấp phát bộ nhớ, không có địa chỉ riêng
– Dùng như một tên khác (bí danh_ alias) cho biến được tham
chiếu đến
Ví dụ: int X, &Y=X; //Y là biến tham chiếu của X, như vậy X và Y
đều chỉ đến một vùng nhớ (Y là tên khác của X)
– Trong mọi hoàn cảnh thì cách dùng X và Y là như nhau
31
OOP-CHƯƠNG 2-NGÔN NGỮ C++
TRUYỀN GIÁ TRỊ CHO HÀMTRUYỀN GIÁ TRỊ CHO HÀM
 Truyền tham trị: (by values)
 Tham số được khai báo như khai báo biến
 Giá trị của đối số được truyền cho hàm không bị thay đổi
Ví dụ: void Hoanvi (int A, int B)  gọi hàm Hoanvi(A,B)
 Truyền bằng con trỏ: (by pointer)
 Tham số được khai báo dạng con trỏ
 Địa chỉ của đối số được truyền cho hàm  có thể thay đổi giá trị
của đối số

Ví dụ: void Hoanvi (int*A, int*B)  gọi Hoanvi(&A,&B)
32
OOP-CHƯƠNG 2-NGÔN NGỮ C++
9
TRUYỀN GIÁ TRỊ CHO HÀMTRUYỀN GIÁ TRỊ CHO HÀM
• Truyền tham chiếu: (by reference)
– Tham số được khai báo như biến tham chiếu
– Địa chỉ của đối số được truyền cho hàm  có thể thay đổi giá trị
của đối số
Ví dụ: void Hoanvi (int&A, int&B)  gọi Hoanvi(A,B)
• Ưu điểm khi truyền tham chiếu
– Không cần tạo ra bản sao các giá trị của đối số vì thế tiết kiệm
bộ nhớ và tăng hiệu quả thực thi của chương trình
– Hàm thao tác trực tiếp trên vùng nhớ của đối số thông qua địa
chỉ  dễ dàng thay đổi giá trị đối số khi cần
33
OOP-CHƯƠNG 2-NGÔN NGỮ C++
VÍ DỤVÍ DỤ
1
2
3
4
5
6
7
8
9
10
11
12

13
14
15
16
17
18
// Truyền bằng trị (đối tượng)
void Swap1 (int x, int y)
{
int temp = x;
x = y;
y = temp;
}
// Truyền bằng địa chỉ (con trỏ)
void Swap2 (int *x, int *y)
{
int temp = *x;
*x = *y;
*y = temp;
}
// Truyền bằng tham chiếu
void Swap3 (int &x, int &y)
{
int temp = x;
x = y;
y = temp;
}
int main (void)
{
int i = 10, j = 20;

Swap1(i, j); cout << i << ", " << j << '\n';
Swap2(&i, &j); cout << i << ", " << j << '\n';
Swap3(i, j); cout << i << ", " << j << '\n';
}
??
34
OOP-CHƯƠNG 2-NGÔN NGỮ C++
CÁC THAM SỐ MẶC ĐỊNHCÁC THAM SỐ MẶC ĐỊNH
• Khai báo hàm với tham số có giá trị mặc định ví dụ: int
myFunction(int x=10) { }
• Khi đó khi chúng ta thực hiện gọi hàm và không truyền
tham số, giá trị mặc định khi khai báo sẽ được dùng trong
thân hàm
Ví dụ: int A; A=myFunction(); //x=10
35
OOP-CHƯƠNG 2-NGÔN NGỮ C++
HÀM TRỰC TUYẾN (INLINE FUNCTION)HÀM TRỰC TUYẾN (INLINE FUNCTION)
• Khai báo bằng từ khóa inline.
Ví dụ: inline int myFunction(int A, int B)
{ return A*B; }
• Khi gọi hàm trực tuyến trình biên dịch sẽ chèn đoạn mã
của hàm vào đúng chỗ mà nó được gọi tới trong chương
trình
• Các hàm phức tạp (chẳng hạn như có vòng lặp) thì không
nên dùng inline
36
OOP-CHƯƠNG 2-NGÔN NGỮ C++
10
XỬ LÝ TẬP TINXỬ LÝ TẬP TIN
• Để làm việc với các file chúng ta tạo ra các đối tượng

ofstream và ifstream sử dụng thư viện “fstream.h”
• Mở file
– Ghi dữ liệu: ofstream fout(“đường dẫn tên file”);
– Đọc dữ liệu: ifstream fin(“đường dẫn tên file”);
Ví dụ:
ifstream fin(“data.txt”);//mở file
while(fin.get(ch)) //đọc ký tự
cout << ch; //xuất ký tự
fin.close(); // kết thúc thao tác và đóng tập tin
37
OOP-CHƯƠNG 2-NGÔN NGỮ C++
XỬ LÝ TẬP TINXỬ LÝ TẬP TIN
• ĐỌC FILE: Mặc định file được đọc ghi dạng văn bản nếu
muốn chuyển sang dạng nhị phân ta dùng
– Ghi: ofstream fout(“đường dẫn tên file”,ios::binary);
– Đọc: ifstream fin(“đường dẫn tên file”, ios::binary);
• GHI FILE: Để ghi dữ liệu ra file ta dùng toán tử <<
Ví dụ: ofstream f(“C:\\Baitap\\myfile.txt”);
f<<setw(5)<<X;
f<<setw(10)<<“ABC”;
f.close();
38
OOP-CHƯƠNG 2-NGÔN NGỮ C++
 Để đọc dữ liệu từ file ta dùng toán tử >>
Ví dụ: int X, char S[10];
ifstream f(“C:\\Baitap\\myfile.txt”); //mở file
f>>X; //đọc dữ liệu từ file vào biến X
f.ignore(); //bỏ qua ký tự chuyển dòng “\n”
f.get(S,10); //đọc 10 ký tự vào chuỗi S
f.close(); //đóng file

39
OOP-CHƯƠNG 2-NGÔN NGỮ C++
VIẾT CHƯƠNG TRÌNHVIẾT CHƯƠNG TRÌNH
• Trên môi trường Windows, có thể sử dụng Visual C++,
hoặc DJGPP, v.v
• Trên Linux, có thể sử dụng GNU C++
40
OOP-CHƯƠNG 2-NGÔN NGỮ C++
11
DÙNG VISUAL C++ 6.0DÙNG VISUAL C++ 6.0
 Chọn chức năng
File/New/Projects
 Đưa vào tên của
Project
 Và vị trí lưu trữ
trên đĩa
 Lưu ý, chọn
Win32 Console
Application
41
OOP-CHƯƠNG 2-NGÔN NGỮ C++
• Sau khi đưa vào
Project Name và
Location, hộp hội
thoại xuất hiện
• Chọn Finish
42
OOP-CHƯƠNG 2-NGÔN NGỮ C++
• Đưa các tập tin
nguồn vào để sử

dụng, bằng cách
• Project/Add to
Project/New/Files.
• Chọn C++ Source
file
• Đưa vào tên file
43
OOP-CHƯƠNG 2-NGÔN NGỮ C++
• Sau khi chọn, có màn hình để soạn thảo tập tin
One.cpp.
• Vào menu Build để biên dịch và thực thi chương
trình.
44OOP-CHƯƠNG 2-NGÔN NGỮ C++
12
BÀI TẬP TỰ HỌCBÀI TẬP TỰ HỌC
• NÊU NHỮNG ĐẶC TÍNH MỞ RỘNG CỦA C++ SO VỚI C
• HIỆN THỰC HÓA 1 LỚP BẤT KỲ Ở BÀI TRƯỚC BẰNG
NGÔN NGỮ C++
45
OOP-CHƯƠNG 2-NGÔN NGỮ C++
BÀI TẬP TẠI LỚPBÀI TẬP TẠI LỚP
• CÁC BÀI TẬP SAU ViẾT DẠNG HÀM VÀ CẤU TRÚC
1) Viết chương trình tính tổng, hiệu, tích, thương của hai
phân số. Trong đó phân số thuộc kiểu cấu trúc có 2 thành
phần số nguyên tử và mẫu.
2) Xây dựng cấu trúc điểm để lưu trữ hoành độ, tung độ của
1 điểm trong mặt phẳng. Nhập vào toạ độ 2 điểm. Tính
khoảng cách giữa 2 điểm đó.
3) Xây dựng cấu trúc Số phức gồm 2 thành phần: phần thực
và phần ào. Tính tổng, hiệu 2 số phức.

46
OOP-CHƯƠNG 2-NGÔN NGỮ C++
BÀI TẬP TẠI LỚPBÀI TẬP TẠI LỚP
4) Xây dựng cấu trúc nhiệt độ gồm 2 thành phần: giá trị (số
nguyên) và loại (kí tự C hoặc F). Viết chương trình nhập
vào 1 loại nhiệt độ, đổi sang loại nhiệt độ kia.
5) Xây dựng cấu trúc hình chữ nhật gồm 2 thành phần: chiều
dài và chiều rộng. Nhập vào 2 hình chữ nhật. In ra thông
tin của hình chữ nhật nào có diện tích lớn hơn.
6) Viết chương trình nhập hồ sơ học sinh của lớp học gồm:
tên, tuổi, điểm trung bình cả năm. In ra tuổi lớn nhất, điểm
trung bình cao nhất của lớp.
47
OOP-CHƯƠNG 2-NGÔN NGỮ C++
THANK YOU
48
OOP-CHƯƠNG 2-NGÔN NGỮ C++

×