1. Trang chủ
  2. » Công Nghệ Thông Tin

BÀI tập THỰC HÀNH lập TRÌNH MFC

19 1,2K 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 581,55 KB

Nội dung

Chương trình minh họa MFC đầu tiên Yêu cầu: Tạo ứng dụng “MFC AppWizard (EXE)” đơn giản bằng Wizard trong visual C++ 6.0 Hướng dẫn gợi ý: o Khởi động Visual C++ 6.0 o Dùng chức năng New Project để tạo project mới o Chọn loại project “MFC AppWizard (EXE)” o Chọn “Single Document” application o Hoàn tất tạo project, biên dịch và chạy thử chương trình, xem kết quả 1.2. Bài 02 – Chương trình minh họa MDI đầu tiên Yêu cầu: Tạo ứng dụng “MFC AppWizard (EXE)” đơn giản bằng Wizard trong visual C++ 6.0 Hướng dẫn gợi ý: o Khởi động Visual C++ 6.0 o Dùng chức năng New Project để tạo project mới o Chọn loại project “MFC AppWizard (EXE)” o Chọn “Multiple document” application o Hoàn tất tạo project, biên dịch và chạy thử chương trình, xem kết quả 1.3. Bài 03 – Chương trình minh họa Dialog based đầu tiên Yêu cầu: Tạo ứng dụng “MFC AppWizard (EXE)” đơn giản bằng Wizard trong visual C++ 6.0 Hướng dẫn gợi ý: o Khởi động Visual C++ 6.0 o Dùng chức năng New Project để tạo project mới o Chọn loại project “MFC AppWizard (EXE)” o Chọn “Dialog based” application o Hoàn tất tạo project, biên dịch và chạy thử chương trình, xem kết quả Ths Trần Ngọc Bảo Bài tập thực hành lập trình MFC 1.4. Bài 04 – Thay đổi biểu tượng, con trỏ chuột của chương trình Yêu cầu: Bổ sung bài tập 2.1 o Thay đổi biểu tượng (Icon) của chương trình o Thay đổi con trỏ chuột (Cursor) của chương trình o Thay đổi nội dung của dialog About Hướng dẫn gợi ý: o Thay đổi con trỏ chuột (Cursor) của chương trình CWinApp *app = AfxGetApp(); HICON hIcon = app-LoadCursor(IDC_NODROP); SetCursor(hIcon); o Hoàn tất tạo project, biên dịch và chạy thử chương trình, xem kết quả 1.5. Bài 05 – Xử lý sự kiện chuột Yêu cầu: Bổ sung bài tập 2.1 o Khi người dùng click chuột trái, hiển thị thông báo “Bạn vừa nhan trai chuot, toa do X=,Y=” o Khi người dùng click chuột phải, hiển thị thông báo “Bạn vừa nhan phai chuot, toa do X=,Y=” Hướng dẫn gợi ý: o Khi người dùng click chuột trái, hiển thị thông báo “Bạn vừa nhan trai chuot, toa do X=,Y=” Nhấn tổ hợp phím Ctrl + W Trong Tab Message Maps chọn class name CxxxView Trong danh sách Messages chọn “WM_LBUTTONDOWN” Click “Add Function” button, sau đó click “Edit Code” button o Khi người dùng click chuột phải, hiển thị thông báo “Bạn vừa nhan phai chuot, toa do X=,Y=” Nhấn tổ hợp phím Ctrl + W Trong Tab Message Maps chọn class name CxxxView Trong danh sách Messages chọn “WM_RBUTTONDOWN” Click “Add Function” button, sau đó click “Edit Code” button.

Trang 1

KHOA TOÁN – TIN HỌC

http://www.hcmup.edu.vn

BÀI TẬP THỰC HÀNH LẬP TRÌNH MFC

1 Phần 1 – Làm quen với một chương trình viết bằng thư viện MFC

1.1 Bài 01 – Chương trình minh họa MFC đầu tiên

- Yêu cầu: Tạo ứng dụng “MFC AppWizard (EXE)” đơn giản bằng Wizard trong visual

C++ 6.0

- Hướng dẫn gợi ý:

o Khởi động Visual C++ 6.0

o Dùng chức năng New Project để tạo project mới

o Chọn loại project “MFC AppWizard (EXE)”

o Chọn “Single Document” application

o Hoàn tất tạo project, biên dịch và chạy thử chương trình, xem kết quả

1.2 Bài 02 – Chương trình minh họa MDI đầu tiên

- Yêu cầu: Tạo ứng dụng “MFC AppWizard (EXE)” đơn giản bằng Wizard trong visual

C++ 6.0

- Hướng dẫn gợi ý:

o Khởi động Visual C++ 6.0

o Dùng chức năng New Project để tạo project mới

o Chọn loại project “MFC AppWizard (EXE)”

o Chọn “Multiple document” application

o Hoàn tất tạo project, biên dịch và chạy thử chương trình, xem kết quả

1.3 Bài 03 – Chương trình minh họa Dialog based đầu tiên

Trang 2

Bài tập thực hành lập trình MFC

1.4 Bài 04 – Thay đổi biểu tượng, con trỏ chuột của chương trình

- Yêu cầu: Bổ sung bài tập 2.1

o Thay đổi biểu tượng (Icon) của chương trình

o Thay đổi con trỏ chuột (Cursor) của chương trình

o Thay đổi nội dung của dialog About

- Hướng dẫn gợi ý:

o Thay đổi con trỏ chuột (Cursor) của chương trình

ƒ CWinApp *app = AfxGetApp();

ƒ HICON hIcon = app->LoadCursor(IDC_NODROP);

ƒ SetCursor(hIcon);

o Hoàn tất tạo project, biên dịch và chạy thử chương trình, xem kết quả

1.5 Bài 05 – Xử lý sự kiện chuột

- Yêu cầu: Bổ sung bài tập 2.1

o Khi người dùng click chuột trái, hiển thị thông báo “Bạn vừa nhan trai chuot, toa do

X = , Y = ”

o Khi người dùng click chuột phải, hiển thị thông báo “Bạn vừa nhan phai chuot, toa do

X = , Y = ”

- Hướng dẫn gợi ý:

o Khi người dùng click chuột trái, hiển thị thông báo “Bạn vừa nhan trai chuot, toa do

X = , Y = ”

ƒ Nhấn tổ hợp phím Ctrl + W

ƒ Trong Tab Message Maps chọn class name CxxxView

ƒ Trong danh sách Messages chọn “WM_LBUTTONDOWN”

ƒ Click “Add Function” button, sau đó click “Edit Code” button

o Khi người dùng click chuột phải, hiển thị thông báo “Bạn vừa nhan phai chuot, toa do

X = , Y = ”

ƒ Nhấn tổ hợp phím Ctrl + W

ƒ Trong Tab Message Maps chọn class name CxxxView

ƒ Trong danh sách Messages chọn “WM_RBUTTONDOWN”

ƒ Click “Add Function” button, sau đó click “Edit Code” button

Ths Trần Ngọc Bảo 2/2

Trang 3

1.6 Bài 06 – Xây dựng chương trình soạn thảo văn bản đơn giản

- Yêu cầu:

o Tạo ứng dụng MFC ở chế độ “Single document”

o Khi user chọn chức năng “New” Æ tạo 1 cửa sổ soạn thảo EDIT trong vùng client

của cửa sổ giao diện chính

o Xử lý WM_SIZE để kích thước của cửa sổ soạn thảo EDIT luôn trùng khớp với kích

thước vùng client của cửa sổ giao diện chính

o Thực hiện các chức năng: Open, Save, Save as, Undo, Cut, Copy, Paste

o Giao diện chương trình

Trang 4

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM TP,HCM

KHOA TOÁN – TIN HỌC

http://www.hcmup.edu.vn

BÀI TẬP THỰC HÀNH LẬP TRÌNH MFC

2 Phần 2: Làm quen với ứng dụng Dialog Based

2.1 Bài 01 – Viết chương trình nhập vào 2 số a và b, cho biết số lớn nhất và nhỏ nhất trong 2 số a,b với giao diện như sau

Hướng dẫn gợi ý: sử dụng cấu trúc If …Then

2.2 Bài 02 – Viết chương trình nhập vào 2 số a, b và c cho biết số lớn nhất và nhỏ nhất trong 3 số a, b và c với giao diện như sau

2.3 Bài 03 - Nhập vào một số nguyên từ 0 đến 9, hiển thị bằng “chữ” các ký số trên, ví dụ:

- Nhập 1 Æ “Một”

- Nhập 2 Æ “Hai”

- Nhập 3 Æ “Ba”

Ths Trần Ngọc Bảo 1/1

Trang 5

-

- Nhập 9 Æ “Chín”

Hướng dẫn gợi ý: sử dụng cấu trúc Select Case

2.4 Bài 04 - Nhập vào một số nguyên dương N, hiển thị bằng “chữ” số vừa nhập trên, ví dụ:

- Nhập 1 Æ “Một”

- Nhập 12 Æ “Mười Hai”

- Nhập 123 Æ “Một trăm hai mươi ba”

Hướng dẫn gợi ý: sử dụng cấu trúc Select Case

Trang 6

Bài tập thực hành lập trình Windows

2.5 Bài 05 - Viết chương trình nhập vào giá trị nguyên dương N, tính tổng

S = 1 + 2 + 3 +…+ N

Với giao diện như sau

Hướng dẫn gợi ý: sử dụng vòng lặp While, For

2.6 Bài 06- Viết chương trình nhập vào giá trị nguyên dương N, tính tổng

S = 1 + 2 + 3 +…+ N

Với giao diện như sau

Tương tự tính tổng

- S = 1 + 3 + 5 + 7 +…+ (2N +1)

- S = 2 + 4 + 6 + 8 +…+ 2N

Ths Trần Ngọc Bảo 3/3

Trang 7

2.7 Bài 07- Viết chương trình nhập vào giá trị nguyên dương N, và số thực X, tính tổng

S = X + X 2 + X 3 + X 4 + + X N

Tương tự tính tổng

- S = X + X3 + X5 + X5 + + X2N+1

- S = X2 + X4 + X6 + + X2N

Trang 8

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM TP,HCM

KHOA TOÁN – TIN HỌC

http://www.hcmup.edu.vn

BÀI TẬP THỰC HÀNH LẬP TRÌNH MFC

4 Phần 2: Làm quen với các control Toolbar, Menu

4.1 Bài 01 – Viết chương trình thể hiện màn hình “Đăng nhập” (login) chương trình như sau

- Khi nhấn vào nút “Đăng nhập”, thực hiện kiểm tra

o Nếu tên người dùng = “CDSPBD” và mật khẩu = “tinhoc” thì hiển thị thông báo (MessageBox) “Đăng nhập thành công

o Ngược lại: thông báo “Không đúng tên người dùng/mật khẩu”

- Khi nhấn vào nút “Thoát”Æ Kết thúc chương trình

4.2 Bài 02 – Viết chương trình thể hiện màn hình “Đăng nhập” (login) chương trình như sau

Ths Trần Ngọc Bảo 1/1

Trang 9

- Khi nhấn vào nút “Đăng nhập”, thực hiện kiểm tra

o Nếu tên người dùng = “CDSPBD” và mật khẩu = “tinhoc” thì

ƒ Ẩn màn hình “Đăng nhập”

ƒ Hiển thị màn hình chính với hình thức thể hiện như sau

o Ngược lại: thông báo “Không đúng tên người dùng/mật khẩu”

- Khi nhấn vào nút “Thoát” hiển thị thong báo “Bạn có muốn thoát chương trình không ?”

o Nếu chọn “Yes”Æ Kết thúc chương trình

o Ngược lại: trở lại màn hình login

Trang 10

Bài tập thực hành lập trình Windows

4.3 Bài 03 – Viết chương trình thể hiện thông tin sinh viên với giao diện như hình vẽ

- Nhấn vào nút “đọc dữ liệu từ file”: đọc dữ liệu từ tập tin “ThongTinSV.txt” với định dạng như bên dưới đưa vào các control trên màn hình

- Định dạng tập tin “ThongTinSV.txt”

Họ và chữ lót: Nguyễn Văn

Tên: Thịnh

Ngày Sinh: 05/11/2005

Tôn giáo: Không

Địa chỉ: 123 Trương Định – Q3

Điện Thoại: 8234567

Email: nvthinh@hcmup.edu.vn

Dân tộc: Kinh

Giới tính: Nam

Ngoại ngữ: Anh Văn, Pháp Văn

- Nhấn vào nút “Lưu dữ liệu xuống file”, ghi dữ liệu thông tin sinh viên trên màn hình xuống tập tin “ThongTinSV.txt”

- Khi nhấn vào nút “Thoát”Æ Kết thúc chương trình

Ths Trần Ngọc Bảo 3/3

Trang 11

4.4 Bài 04 – Viết chương trình quản lý học sinh với hệ thống menu và Toolbar như sau

- Nhấn vào chức năng “Hệ thống\Đăng nhập” trong menu hoặc nút hình “Chùm khóa” trên ToolBar, hiển thị màn hình login như trong bài tập 01

- Nhấn vào chức năng “Quản lý học sinh\Thông tin học sinh” trong menu hoặc nút hình

“Mũ tốt nghiệp” trên ToolBar, hiển thị màn hình thông tin sinh viên như trong bài tập 03

- Nhấn vào chức năng “Hệ thống\Thoát”: Kết thúc chương trình

Trang 12

Bài tập thực hành lập trình Windows

- Hệ thống Menu như sau:

Hệ thống thực đơn

Hệ thống Danh mục Quản lý học sinh Báo cáo thống kê

Ths Trần Ngọc Bảo 5/5

Giúp đỡ

- Cấu hình hệ thống

- Quản lý người dùng

- Đăng nhập

- Đổi mật khẩu

- Thoát

- Danh mục giáo viên

- Danh mục quận huyện

- Danh mục loại hồ sơ

- Hồ sơ học sinh

- Phân lớp

- Xem điểm

- Điểm danh

- Khen thưởng

- Kỷ luật

- Thống kê danh sách học sinh

- Bảng điểm

- Hướng dẫn sử dụng

- Tác giả

Trang 13

BÀI TẬP THỰC HÀNH LẬP TRÌNH MFC

5 Phần 3: Lập trình CSDL

Viết chương trình quản lý học sinh với yêu cầu như sau

5.1 Cơ sở dữ liệu chương trình gồm có các Table sau

- Table NguoiDung: quản lý danh sách “người dùng” được phép đăng nhập vào hệ thống, với cấu trúc & dữ liệu tương ứng như sau:

MaND

(ID)

TenND (UserName)

MatKhau (Password)

HoTen (FullName)

DiaChi (Address)

Email

1 Admin Admin Quản trị hệ

thống

123 Truong Dinh

admin@yahoo.com

2 Tinhocsp Tinhocsp Tin Sư Phạm 280 An

Dương Vương

tinhocsp@yahoo.com

Hoàng Văn Thụ

Sv01@yahoo.com

- Table HocSinh: quản lý danh sách học sinh của chương trình, với các field như sau

KHOA TOÁN – TIN HỌC

http://www.hcmup.edu.vn

Trang 14

Bài tập thực hành lập trình Windows

- Table DanToc: lưu trữ danh mục dân tộc

MaDT Ten

K Kinh

T Tày

M Mường

H H’Mông

- Table TonGiao: lưu trữ danh mục tôn giáo

MaTG Ten

PG Phật giáo

KG Không

5.2 Bài 02 – Viết chương trình thể hiện màn hình “Đăng nhập” (login) chương trình như

sau

- Khi nhấn vào nút “Đăng nhập”, thực hiện kiểm tra

o Nếu tên người dùng và mật khẩu tồn tại trong Table NguoiDung thì

ƒ Ẩn màn hình “Đăng nhập”

ƒ Hiển thị màn hình chính với hình thức thể hiện như hình màn hình chính bên dưới

Ths Trần Ngọc Bảo 2/2

Trang 15

• Nếu TenND = “Admin” thì cho phép xem tất cả các chức năng trong

hệ thống menu

• Nếu TenND = “Tinhocsp” thì cho phép xem tất cả các chức năng trong hệ thống menu ngoại trừ chức năng “Quản lý người dùng” trong hệ thống và “danh mục”

• Ngược lại thì cho phép xem tất cả các chức năng trong hệ thống menu ngoại trừ chức năng “Quản lý người dùng” trong “hệ thống”,

“danh mục”, “Quản lý học sinh”

o Ngược lại: thông báo “Không đúng tên người dùng/mật khẩu”

- Khi nhấn vào nút “Thoát” hiển thị thong báo “Bạn có muốn thoát chương trình không ?”

o Nếu chọn “Yes”Æ Kết thúc chương trình

o Ngược lại: trở lại màn hình đăng nhập

Trang 16

Bài tập thực hành lập trình Windows

- Nhấn vào chức năng “Hệ thống\Quản lý người dùng” trong menu hoặc nút hình “3

người” trên ToolBar, hiển thị màn hình quản lý người dùng như hình bên dưới

o Khi màn hình vừa được load, không cho phép người dùng thao tác

ƒ Các TextBox

ƒ Các nút: Luu, Khong, Thoat

o Xử lý nút lệnh “them”: thêm mới người dùng

ƒ Cho phép nhập thông trong các TextBox (trừ thông tin ID)

ƒ Disbale các nút lệnh “Them”, “Xoa”, “Sua”, “Thoat”

ƒ Enable các nút lệnh “Luu”, “Khong”

o Xử lý nút lệnh “xoa”:

ƒ Nếu TenNguoiDung = “Admin” thì hiển thị thông báo “không được quyền xóa user này”

ƒ Ngược lại hiển thị thông báo hỏi “Bạn có muốn xóa không ?”

• Nếu chọn “Yes” thì thực hiện xóa và load lại danh sách người dùng

• Ngượi lại (chọn “No”): quay lại màn hình quản lý người dùng

o Xử lý nút lệnh “sua”: cho phép sửa thông tin người dùng

ƒ Cho phép nhập thông trong các TextBox (trừ thông tin ID)

ƒ Disbale các nút lệnh “Them”, “Xoa”, “Sua”, “Thoat”

ƒ Enable các nút lệnh “Luu”, “Khong”

o Xử lý nút lệnh “Khong”:

ƒ Hủy bỏ thao tác thêm/sửa thông tin người dùng

ƒ Hiển thị thông tin người dùng đã chọn trước đó

o Xử lý nút lệnh “Luu”: cập nhật CSDL (thêm/sửa) thông tin người dùng và load lại

danh sách người dùng

Ths Trần Ngọc Bảo 4/4

Trang 17

- Nhấn vào chức năng “Quản lý học sinh\Thông tin học sinh” trong menu hoặc nút hình

“Mũ tốt nghiệp” trên ToolBar, hiển thị màn hình thông tin sinh viên

Trang 18

Bài tập thực hành lập trình Windows

o Khi màn hình vừa được load, không cho phép người dùng thao tác

ƒ Các TextBox

ƒ Các nút: Luu, Khong, Thoat

o Xử lý nút lệnh “them”: thêm mới học sinh

ƒ Cho phép nhập thông trong các TextBox (trừ thông tin ID)

ƒ Disbale các nút lệnh “Them”, “Xoa”, “Sua”, “Thoat”

ƒ Enable các nút lệnh “Luu”, “Khong”

o Xử lý nút lệnh “xoa”: Hiển thị thông báo hỏi “Bạn có muốn xóa không ?”

ƒ Nếu chọn “Yes” thì thực hiện xóa và load lại danh sách học sinh

ƒ Ngượi lại (chọn “No”): quay lại màn hình quản lý học sinh

o Xử lý nút lệnh “sua”: cho phép sửa thông tin học sinh

ƒ Cho phép nhập thông trong các TextBox (trừ thông tin ID)

ƒ Disbale các nút lệnh “Them”, “Xoa”, “Sua”, “Thoat”

ƒ Enable các nút lệnh “Luu”, “Khong”

o Xử lý nút lệnh “Khong”:

ƒ Hủy bỏ thao tác thêm/sửa thông tin học sinh

ƒ Hiển thị thông tin học sinh đã chọn trước đó

o Xử lý nút lệnh “Luu”: cập nhật CSDL (thêm/sửa) thông tin học sinh và load lại

danh sách học sinh

Ths Trần Ngọc Bảo 6/6

Trang 19

- Hệ thống Menu như sau:

Hệ thống thực đơn

Hệ thống Danh mục Quản lý học sinh Báo cáo thống kê Giúp đỡ

- Danh mục giáo viên

- Danh mục quận huyện

- Danh mục loại điểm

- Hồ sơ học sinh

- Phân lớp

- Xem điểm

- Điểm danh

- Khen thưởng

- Kỷ luật

- Thống kê danh sách học sinh

- Bảng điểm

- Hướng dẫn sử dụng

- Tác giả

Ngày đăng: 20/08/2013, 15:35

HÌNH ẢNH LIÊN QUAN

4.2. Bài 02 – Viết chương trình thể hiện màn hình “Đăng nhập” (login) chương trình như sau  - BÀI tập THỰC HÀNH lập TRÌNH MFC
4.2. Bài 02 – Viết chương trình thể hiện màn hình “Đăng nhập” (login) chương trình như sau (Trang 8)
4.1. Bài 01 – Viết chương trình thể hiện màn hình “Đăng nhập” (login) chương trình như sau  - BÀI tập THỰC HÀNH lập TRÌNH MFC
4.1. Bài 01 – Viết chương trình thể hiện màn hình “Đăng nhập” (login) chương trình như sau (Trang 8)
ƒ Hiển thị màn hình chính với hình thức thể hiện như sau - BÀI tập THỰC HÀNH lập TRÌNH MFC
i ển thị màn hình chính với hình thức thể hiện như sau (Trang 9)
4.3. Bài 03 – Viết chương trình thể hiện thông tin sinh viên với giao diện như hình vẽ - BÀI tập THỰC HÀNH lập TRÌNH MFC
4.3. Bài 03 – Viết chương trình thể hiện thông tin sinh viên với giao diện như hình vẽ (Trang 10)
- Nhấn vào chức năng “Hệ thống\Đăng nhập” trong menu hoặc nút hình “Chùm khóa” trên ToolBar, hiển thị màn hình login như trong bài tập 01 - BÀI tập THỰC HÀNH lập TRÌNH MFC
h ấn vào chức năng “Hệ thống\Đăng nhập” trong menu hoặc nút hình “Chùm khóa” trên ToolBar, hiển thị màn hình login như trong bài tập 01 (Trang 11)
- Cấu hình hệ thống - Quản lý ngườ i dùng  - Đăng nhập  - BÀI tập THỰC HÀNH lập TRÌNH MFC
u hình hệ thống - Quản lý ngườ i dùng - Đăng nhập (Trang 12)
ƒ Ẩn màn hình “Đăng nhập” - BÀI tập THỰC HÀNH lập TRÌNH MFC
n màn hình “Đăng nhập” (Trang 14)
5.2. Bài 02 – Viết chương trình thể hiện màn hình “Đăng nhập” (login) chương trình như sau  - BÀI tập THỰC HÀNH lập TRÌNH MFC
5.2. Bài 02 – Viết chương trình thể hiện màn hình “Đăng nhập” (login) chương trình như sau (Trang 14)
oNg ược lại: trở lại màn hình đăng nhập. - BÀI tập THỰC HÀNH lập TRÌNH MFC
o Ng ược lại: trở lại màn hình đăng nhập (Trang 15)
- Nhấn vào chức năng “Hệ thống\Quản lý người dùng” trong menu hoặc nút hình “3 - BÀI tập THỰC HÀNH lập TRÌNH MFC
h ấn vào chức năng “Hệ thống\Quản lý người dùng” trong menu hoặc nút hình “3 (Trang 16)
- Nhấn vào chức năng “Quản lý học sinh\Thông tinh ọc sinh” trong menu hoặc nút hình - BÀI tập THỰC HÀNH lập TRÌNH MFC
h ấn vào chức năng “Quản lý học sinh\Thông tinh ọc sinh” trong menu hoặc nút hình (Trang 17)
o Khi màn hình vừa được load, không cho phép người dùng thao tác - BÀI tập THỰC HÀNH lập TRÌNH MFC
o Khi màn hình vừa được load, không cho phép người dùng thao tác (Trang 18)
- Cấu hình hệ thống - Quản lý ngườ i dùng  - Đăng nhập  - BÀI tập THỰC HÀNH lập TRÌNH MFC
u hình hệ thống - Quản lý ngườ i dùng - Đăng nhập (Trang 19)

TỪ KHÓA LIÊN QUAN

w