TRƯỜNG ĐẠI HỌC TÀI CHÍNH – MARKETING
KHOA CƠNG NGHỆ THƠNG TIN
TIỂU LUẬN KẾT THÚC HỌC PHẦN
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
Đề tài
CẤU TRÚC QUẢN LÝ SẢN PHẨM MỸ
PHẨM BÁN TẠI CỬA HÀNG
GV phụ trách học phần : ThS. Nguyễn Quốc Thanh
Mã lớp học phần
: 2021112001201
Sinh viên thực hiện
: Trần Thị Thu Hà
MSSV
: 2021010135
TP. Thủ Đức, ngày 25, tháng 06, năm 2021
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
DANH MỤC TỪ VIẾT TẮT
TT
Từ viết tắt
Ý nghĩa
1
MP
Mỹ phẩm
2
DS
Danh sách
3
ctc
Chương trình con
4
5
iii
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
DANH MỤC BẢNG BIỂU
Bảng 1.1: Bảng dữ liệu mẫu...................................................................................................2
iv
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
DANH MỤC HÌNH ẢNH
Hình 2.1: Định nghĩa cấu trúc quản lý sản phẩm.............................................................4
Hình 2.2: Ctc nhập ơ cấu trúc.............................................................................................5
Hình 2.3: Ctc nhập mảng cấu trúc.....................................................................................6
Hình 2.4: Hàm main kiểm tra ctc nhập mảng cấu trúc....................................................6
Hình 2.5: Kết quả chạy ctc nhập mảng..............................................................................7
Hình 2.6: Ctc xuất ơ cấu trúc..............................................................................................8
Hình 2.7: Ctc xuất mảng cấu trúc.......................................................................................8
Hình 2.8: Hàm main kiểm tra ctc xuất mảng cấu trúc.....................................................8
Hình 2.9: Kết quả chạy ctc xuất mảng...............................................................................9
Hình 2.10: Ctc hốn vị.......................................................................................................10
Hình 2.11: Ctc Selection Sort (biết Mã MP)....................................................................10
Hình 2.12: Hàm main kiểm tra ctc Selection Sort (biết Mã MP)...................................11
Hình 2.13: Kết quả chạy ctc Selection Sort (biết Mã MP).............................................12
Hình 2.14: Ctc Binary Search (biết Mã MP)...................................................................13
Hình 2.15: Hàm main kiểm tra ctc Binary Search (biết Mã MP)..................................14
Hình 2.16: Kết quả chạy ctc Selection Sort – Tìm thấy (biết Mã MP)..........................15
Hình 2.17: Kết quả chạy ctc Selection Sort – Khơng tìm thấy (biết Mã MP)...............15
Hình 2.18: Ctc tự động nhập mảng..................................................................................15
Hình 2.19: Ctc menu chương trình...................................................................................16
Hình 2.20: Ctc chọn từng thao tác....................................................................................16
Hình 2.21: Hàm main kiểm tra ctc chọn từng thao tác..................................................17
Hình 2.22: Kết quả chạy ctc chọn thao tác 1...................................................................17
Hình 2.23: Kết quả chạy ctc chọn thao tác 2...................................................................18
v
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
Hình 2.24: Kết quả chạy ctc chọn thao tác 3...................................................................18
Hình 2.25: Kết quả chạy ctc chọn thao tác 4 – Tìm thấy kết quả..................................19
Hình 2.26: Kết quả chạy ctc chọn thao tác 4 – Khơng tìm thấy kết quả.......................19
Hình 2.27: Kết quả chạy ctc chọn thao tác 5...................................................................20
Hình 3.1: Định nghĩa cấu trúc sản phẩm mỹ phẩm........................................................21
Hình 3.2: Định nghĩa Node................................................................................................21
Hình 3.3: Định nghĩa Danh sách liên kết.........................................................................22
Hình 3.4: Khởi tạo Danh sách liên kết.............................................................................22
Hình 3.5: Ctc nhập thơng tin sản phẩm...........................................................................23
Hình 3.6: Ctc xuất thơng tin sản phẩm............................................................................23
Hình 3.7: Ctc tạo Node.......................................................................................................24
Hình 3.8: Ctc in Node.........................................................................................................24
Hình 3.9: Ctc thêm phần tử vào đầu danh sách..............................................................25
Hình 3.10: Ctc in danh sách sản phẩm.............................................................................25
Hình 3.11: Hàm main kiểm tra ctc Nhập/xuất danh sách sản phẩm.............................26
Hình 3.12: Kết quả chạy ctc Nhập/xuất danh sách sản phẩm.......................................27
Hình 3.12: Ctc Bubble Sort (theo Thành Tiền)...............................................................28
Hình 3.13: Hàm main kiểm tra ctc Bubble Sort (theo Thành Tiền)..............................29
Hình 3.14: Kết quả chạy ctc Bubble Sort (theo Thành Tiền).........................................30
Hình 3.15: Ctc Tìm kiếm (biết Mã SP).............................................................................31
Hình 3.16: Hàm main kiểm tra ctc Tìm kiếm (biết Mã SP)...........................................32
Hình 3.17: Kết quả chạy ctc Tìm kiếm – Tìm thấy kết quả (biết Mã SP).....................33
Hình 3.18: Kết quả chạy ctc Tìm kiếm – Khơng tìm thấy kết quả (biết Mã SP)..........33
Hình 3.19: Ctc Xóa thơng tin sản phẩm hết HSD...........................................................34
Hình 3.20: Ctc Xóa thơng tin sản phẩm hết HSD ở đầu danh sách..............................34
vi
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
Hình 3.21: Ctc Xóa thơng tin sản phẩm hết HSD ở cuối danh sách..............................35
Hình 3.22: Ctc Xóa thơng tin sản phẩm hết HSD ở giữa danh sách.............................35
Hình 3.23: Hàm main kiểm tra ctc Xóa thơng tin sản phẩm hết HSD..........................36
Hình 3.24: Kết quả chạy ctc Xóa thơng tin sản phẩm hết HSD ở đầu danh sách........37
Hình 3.25: Kết quả chạy ctc Xóa thơng tin sản phẩm hết HSD ở giữa danh sách...............38
vii
MỤC LỤC
NHẬN XÉT ĐÁNH GIÁ CỦA GIẢNG VIÊN...................................................................2
DANH MỤC TỪ VIẾT TẮT..............................................................................................iii
DANH MỤC BẢNG BIỂU.................................................................................................iv
DANH MỤC HÌNH ẢNH....................................................................................................v
MỤC LỤC.............................................................................................................................2
Chương 1: GIỚI THIỆU.....................................................................................................1
1.1 Giới thiệu đề bài:........................................................................................................1
1.2 Cấu trúc (mô tả cấu trúc được yêu cầu, chọn CTDL để thể hiện, khai báo/định
nghĩa cấu trúc)..................................................................................................................1
1.3 Dữ liệu mẫu (>=10 thông tin đối tượng cần quản lý)................................................1
1.4 Các chức năng (Liệt kê các chức năng sẽ xây dựng)..................................................2
Chương 2: QUẢN LÝ DANH SÁCH VỚI MẢNG TĨNH................................................4
2.1 Cấu trúc quản lý sản phẩm.........................................................................................4
2.2 Nhập danh sách sản phẩm..........................................................................................5
2.2.1 Chương trình con.................................................................................................5
2.2.2 Kiểm tra (Hàm main kiểm tra ctc).......................................................................6
2.2.3 Kết quả chạy.........................................................................................................7
2.3 Xuất danh sách sản phẩm...........................................................................................7
2.3.1 Chương trình con.................................................................................................7
2.3.2 Kiểm tra (Hàm main kiểm tra ctc).......................................................................8
2.3.3 Kết quả chạy.........................................................................................................9
2.4 Sắp xếp danh sách sản phẩm theo Mã mỹ phẩm (Sử dụng Selection Sort)..............10
2.4.1 Chương trình con...............................................................................................10
2.4.2 Kiểm tra (Hàm main kiểm tra ctc).....................................................................11
2.4.3 Kết quả chạy.......................................................................................................12
2.5 Tìm kiếm thơng tin sản phẩm khi biết Mã mỹ phẩm (dùng Binary Search)..............13
2.5.1 Chương trình con...............................................................................................13
2.5.2 Kiểm tra (Hàm main kiểm tra ctc).....................................................................13
2.5.3 Kết quả chạy.......................................................................................................14
2.6 Menu chương trình....................................................................................................15
2.6.1 Chương trình con...............................................................................................15
2.6.2 Kiểm tra (Hàm main kiểm tra ctc).....................................................................17
2.6.3 Kết quả chạy.......................................................................................................17
Chương 3: QUẢN LÝ DANH SÁCH VỚI DANH SÁCH LIÊN KẾT ĐƠN................21
3.1 Cấu trúc quản lý sản phẩm.......................................................................................21
3.2 Nhập/xuất danh sách sản phẩm................................................................................22
3.2.1 Chương trình con...............................................................................................22
3.2.2 Kiểm tra (Hàm main kiểm tra ctc).....................................................................26
3.2.3 Kết quả chạy.......................................................................................................27
3.3 Sắp xếp danh sách sản phẩm mỹ phẩm theo Thành Tiền (sử dụng Bubble Sort).....28
3.3.1 Chương trình con...............................................................................................28
3.3.2 Kiểm tra (Hàm main kiểm tra ctc).....................................................................29
3.3.3 Kết quả chạy.......................................................................................................30
3.4 Tìm kiếm thơng tin sản phẩm khi biết Mã mỹ phẩm.................................................31
3.4.1 Chương trình con...............................................................................................31
3.4.2 Kiểm tra (Hàm main kiểm tra ctc).....................................................................32
3.4.3 Kết quả chạy.......................................................................................................33
3.5 Xóa thơng tin sản phẩm hết Hạn sử dụng.................................................................33
3.5.1 Chương trình con...............................................................................................33
3.5.2 Kiểm tra (Hàm main kiểm tra ctc).....................................................................36
3.5.3 Kết quả chạy.......................................................................................................37
Chương 4: KẾT LUẬN......................................................................................................39
4.1 Các chức năng đã thực hiện......................................................................................39
4.1.1 Mảng tĩnh...........................................................................................................39
4.1.2 Danh sách liên kết..............................................................................................39
4.2 Các chức năng chưa thực hiện..................................................................................39
TÀI LIỆU THAM KHẢO....................................................................................................40
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
Chương 1: GIỚI THIỆU
1.1 Giới thiệu đề bài:
Xây dựng cấu trúc quản lý sản phẩm mỹ phẩm bán tại một cửa hàng gồm các
thông tin như sau: Mã mỹ phẩm (MaMP), Tên mỹ phẩm (TenMP), Số lượng
(SoLuong), Giá (Gia), Hạn sử dụng (HSD), Xuất xứ (XuatXu), Thành tiền
(ThanhTien).
1.2 Cấu trúc (mô tả cấu trúc được yêu cầu, chọn CTDL để thể hiện, khai
báo/định nghĩa cấu trúc)
Thông tin danh mục nghề nghiệp cần xây dựng:
MaMP: Mã mỹ phẩm, gồm 4 ký tự, trong đó 2 ký tự đầu là tên viết tắt của sản
phẩm.
TenMP: Tên mỹ phẩm, quản lý các tên tiếng Việt, tiếng Anh,… với chiều dài
tối đa 40 ký tự.
SoLuong: Số lượng của sản phẩm.
Gia: Giá của một sản phẩm.
HSD: Hạn sử dụng của sản phẩm đó, gồm ngày, tháng, năm.
XuatXu: Xuất xứ của sản phẩm, quản lý các tên tiếng Việt, tiếng Anh, … với
chiều dài tối đa 20 ký tự.
ThanhTien: Thành tiền, là tổng số tiền của sản phẩm.
1.3 Dữ liệu mẫu (>=10 thông tin đối tượng cần quản lý)
1
Cấu trúc quản lý sản phẩm mỹ phẩm
MaMP
TenMP
Tên: Trần Thị Thu Hà
SoLuong
Gia
HSD
XuatXu ThanhTien
PM01
Phấn má hồng
2
150000
01/01/22
Pháp
SO02
Son 3CE đỏ
3
90000
01/12/22
Korea
2
160000
11/11/23
Dầu gội
DG02
Unilever
Việt
Nam
CK05
Chì Kẻ
4
85000
17/12/23
USA
DG03
Dầu gội P&G
6
190000
18/01/23
USA
Bảng 1.1: Bảng dữ liệu mẫu
1.4 Các chức năng (Liệt kê các chức năng sẽ xây dựng)
Các chức năng trên mảng cấu trúc
Tạo cấu trúc quản lý danh sách các sản phẩm.
Nhập danh sách sản phẩm.
Xuất danh sách sản phẩm.
(chú ý thành tiền khơng nhập mà tính = SoLuong*Gia)
Sắp xếp danh sách theo Mã mỹ phẩm (sử dụng Selection Sort).
Tìm kiếm thông tin sản phẩm khi biết Mã mỹ phẩm (sử dụng Binary
Search).
Xây dựng trình đơn chọn thực hiện các chức năng trên.
Các chức năng trên danh sách liên kết
Tạo cấu trúc quản lý danh sách các sản phẩm.
Nhập danh sách sản phẩm
Xuất danh sách sản phẩm.
(chú ý thành tiền khơng nhập mà tính = SoLuong*Gia)
Sắp xếp danh sách sản phẩm theo Thành tiền (sử dụng Bubble Sort)
2
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
Tìm kiếm thơng tin sản phẩm khi biết Mã mỹ phẩm.
Xóa thơng tin các sản phẩm hết Hạn sử dụng.
3
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
Chương 2: QUẢN LÝ DANH SÁCH VỚI MẢNG TĨNH
2.1 Cấu trúc quản lý sản phẩm
Cấu trúc dữ liệu hỗ trợ xây dựng thông tin sách sản phẩm mỹ phẩm:
MaMP: chuỗi gồm 4 ký tự chữ và số.
TenMP: chuỗi tối đa 40 ký tự.
XuatXu: chuỗi tối đa 20 ký tự.
SoLuong: số nguyên không âm .
Gia: số nguyên không âm (Gia>=0).
ngay, thang, nam là những số nguyên không âm (0
0
ThanhTien: số ngun khơng âm, được tính bởi SoLuong*Gia.
Hình 2.1: Định nghĩa cấu trúc quản lý sản phẩm
4
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
2.2 Nhập danh sách sản phẩm
2.2.1 Chương trình con
Để nhập danh sách sản phẩm, cần xây dựng hai chương trình con gồm:
void nhap_o(my_pham &a): hỗ trợ nhập thơng tin của một sản phẩm
gồm MaSP, TenSP, XuatXu, SoLuong, Gia, HSD và ThanhTien.
void nhap_mang(my_pham a[], int n): hỗ trợ nhập danh sách sản phẩm
mỹ phẩm.
Hình 2.2: Ctc nhập ơ cấu trúc
5
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
Hình 2.3: Ctc nhập mảng cấu trúc
2.2.2 Kiểm tra (Hàm main kiểm tra ctc)
Hình 2.4: Hàm main kiểm tra ctc nhập mảng cấu trúc
6
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
2.2.3 Kết quả chạy
Hình 2.5: Kết quả chạy ctc nhập mảng
2.3 Xuất danh sách sản phẩm
2.3.1 Chương trình con
Để xuất danh sách sản phẩm, cần xây dựng hai chương trình con gồm:
void xuat_o(my_pham a): hỗ trợ xuất thơng tin của một sản phẩm gồm
MaSP, TenSP, XuatXu, SoLuong, Gia, HSD và ThanhTien.
void xuat_mang(my_pham a[], int n): hỗ trợ xuất danh sách sản phẩm
mỹ phẩm.
7
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
Hình 2.6: Ctc xuất ơ cấu trúc
Hình 2.7: Ctc xuất mảng cấu trúc
2.3.2 Kiểm tra (Hàm main kiểm tra ctc)
Hình 2.8: Hàm main kiểm tra ctc xuất mảng cấu trúc
8
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
2.3.3 Kết quả chạy
Hình 2.9: Kết quả chạy ctc xuất mảng
9
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
2.4 Sắp xếp danh sách sản phẩm theo Mã mỹ phẩm (Sử dụng Selection
Sort)
2.4.1 Chương trình con
Để sắp xếp danh sách sản phẩm theo Mã mỹ phẩm (dùng Selection Sort), ta
cần xây dựng hai ctc:
void hoan_vi(my_pham &a, my_pham &b): ctc hoán vị hỗ trợ cho việc
đổi chỗ hai sản phẩm với nhau.
Hình 2.10: Ctc hốn vị
void Selection_Sort(my_pham a[], int n): ctc sắp xếp danh sách sản
phẩm.
Hình 2.11: Ctc Selection Sort (biết Mã MP)
10
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
2.4.2 Kiểm tra (Hàm main kiểm tra ctc)
Hình 2.12: Hàm main kiểm tra ctc Selection Sort (biết Mã MP)
11
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
2.4.3 Kết quả chạy
Hình 2.13: Kết quả chạy ctc Selection Sort (biết Mã MP)
12
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
2.5 Tìm kiếm thơng tin sản phẩm khi biết Mã mỹ phẩm (dùng Binary
Search)
2.5.1 Chương trình con
Để tìm thơng tin sản phẩm khi biết Mã mỹ phẩm (dùng Binary Search), ta cần
xây dựng chương trình con: int Binary_Search(my_pham a[], int n, char t[])
Hình 2.14: Ctc Binary Search (biết Mã MP)
2.5.2 Kiểm tra (Hàm main kiểm tra ctc)
Lưu ý: ta cần phải chạy chương trình sắp xếp danh sách (cụ thể là Selection
Sort) trước thì việc tìm kiếm thơng tin sản phẩm bằng Binary Search mới chính xác
được.
13
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
Hình 2.15: Hàm main kiểm tra ctc Binary Search (biết Mã MP)
2.5.3 Kết quả chạy
Trường hợp tìm thấy kết quả:
14
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
Hình 2.16: Kết quả chạy ctc Selection Sort – Tìm thấy (biết Mã MP)
Trường hợp khơng tìm thấy kết quả:
Hình 2.17: Kết quả chạy ctc Selection Sort – Khơng tìm thấy (biết Mã MP)
2.6 Menu chương trình
2.6.1 Chương trình con
Để xây dựng trình đơn chọn thực hiện các chức năng trên, ta cần xây dựng các
ctc sau:
void tu_dong_nhap(my_pham a[]): ctc nhập mảng tự động
void trinh_don(): menu các chức năng đã được thực hiện
Hình 2.18: Ctc tự động nhập mảng
15
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
Hình 2.19: Ctc menu chương trình
void chon_trinh_don(my_pham a[], int &n, int c): ctc chọn thực hiện
từng thao tác một.
Hình 2.20: Ctc chọn từng thao tác
16
Cấu trúc quản lý sản phẩm mỹ phẩm
Tên: Trần Thị Thu Hà
2.6.2 Kiểm tra (Hàm main kiểm tra ctc)
Hình 2.21: Hàm main kiểm tra ctc chọn từng thao tác
2.6.3 Kết quả chạy
Hình 2.22: Kết quả chạy ctc chọn thao tác 1
17