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).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.3 Dữ liệu mẫu (>=10 thông tin đối tượng cần quản lý) 1 0 0 Cấu trúc quản lý sản phẩm mỹ phẩm Tên: Trần Thị Thu Hà MaMP TenMP 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 Dầu gội Việt DG02 2 160000 11/11/23 Unilever 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. 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 0 0 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 0 0 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<ngay<=7, 0<thang<=31, nam>=1900). ThanhTien: số nguyên không âm, được tính bởi SoLuong*Gia.1: Định nghĩa cấu trúc quản lý sản phẩm 4 0 0 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.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.2: Ctc nhập ô cấu trúc 5 0 0 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 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 0 0 Cấu trúc quản lý sản phẩm mỹ phẩm Tên: Trần Thị Thu Hà 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.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 0 0 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.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 0 0 Cấu trúc quản lý sản phẩm mỹ phẩm Tên: Trần Thị Thu Hà 2.3 Kết quả chạy Hình 2.9: Kết quả chạy ctc xuất mảng 9 0 0 Cấu trúc quản lý sản phẩm mỹ phẩm Tên: Trần Thị Thu Hà MaMP TenMP 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 Dầu gội Việt DG02 2 160000 11/11/23 Unilever Nam CK05 Chì Kẻ 4 85000 17/12/23 USA 0 0 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. 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 0 0 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. 0 0 3 0 0 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<ngay<=7, 0<thang<=31, nam>=1900). ThanhTien: số nguyên không âm, được tính bởi SoLuong*Gia.1: Định nghĩa cấu trúc quản lý sản phẩm 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 0 0 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.2: Ctc nhập ô cấu trúc 5 0 0 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 Kiểm tra (Hàm main kiểm tra ctc) 0 0 Hình 2.4: Hàm main kiểm tra ctc nhập mảng cấu trúc 6 0 0 Cấu trúc quản lý sản phẩm mỹ phẩm Tên: Trần Thị Thu Hà 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.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: 0 0 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 0 0 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.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 0 0 8 Cấu trúc quản lý sản phẩm mỹ phẩm Tên: Trần Thị Thu Hà 2.3 Kết quả chạy 0 0 Hình 2.9: Kết quả chạy ctc xuất mảng 9 0 0 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.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.10: Ctc hoán vị void Selection_Sort(my_pham a[], int n): ctc sắp xếp danh sách sản phẩm.11: Ctc Selection Sort (biết Mã MP) 10 0 0 Cấu trúc quản lý sản phẩm mỹ phẩm Tên: Trần Thị Thu Hà 2.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) 0 0 11 Cấu trúc quản lý sản phẩm mỹ phẩm Tên: Trần Thị Thu Hà 0 0 2.3 Kết quả chạy Hình 2.13: Kết quả chạy ctc Selection Sort (biết Mã MP) 12 0 0 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.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[]) 0 0 Cấu trúc quản lý sản phẩm mỹ phẩm Tên: Trần Thị Thu Hà 3.3 Kết quả chạy Hình 3.14: Kết quả chạy ctc Bubble Sort (theo Thành Tiền) 30 0 0 Cấu trúc quản lý sản phẩm mỹ phẩm Tên: Trần Thị Thu Hà 3.4 Tìm kiếm thông tin sản phẩm khi biết Mã mỹ phẩm 3.1 Chương trình con Hình 3.15: Ctc Tìm kiếm (biết Mã SP) 31 0 0 Cấu trúc quản lý sản phẩm mỹ phẩm Tên: Trần Thị Thu Hà 3.2 Kiểm tra (Hàm main kiểm tra ctc) Hình 3.16: Hàm main kiểm tra ctc Tìm kiếm (biết Mã SP) 32 0 0 Cấu trúc quản lý sản phẩm mỹ phẩm Tên: Trần Thị Thu Hà 3.3 Kết quả chạy Trường hợp tìm thấy kết quả: 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) 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) 3.5 Xóa thông tin sản phẩm hết Hạn sử dụng 3.1 Chương trình con Để xóa thông tin sản phẩm hết Hạn sử dụng, ta cần xây dựng ctc void Delete_HSD(dsmp_Llist *list, int d, int m, int y) 33 0 0 Cấu trúc quản lý sản phẩm mỹ phẩm Tên: Trần Thị Thu Hà Hình 3.19: Ctc Xóa thông tin sản phẩm hết HSD Trong ctc này ta sẽ chia ra làm ba trường hợp, lần lượt là: Thông tin sản phẩm cần xóa nằm ở đầu danh sách Hình 3.