[Type here] BO TAI CHINH TRUONG DAI HOC TAI CHINH — MARKETING KHOA CONG NGHE THONG TIN I*[ TRƯỜNG ĐẠI HỌC TÀI CHÍNH - MARKETING ĐỎ ÁN CUỎI KỲ MÔN CƠ SỞ DỮ LIỆU VÀ GIẢI THUẬT Đề tài: CÁU TRÚC HỖ TRỢ QUẢN LÍ DANH MỤC SAN PHAM BAN LA DIEN THOAI GVHD: Th.S Nguyễn Quốc Thanh SVTH: Huỳnh Hoàng Trầm MSSV:2221004326 Lớp: 22DHT03 Tp.HCM, tháng 2 năm 2023 [Type here] NHAN XET CUA GIANG VIEN Giảng viên hướng dẫn [Type here] Th.S Nguyén Quốc Thanh [Type here] DANH MUC HINH ANH HÌNH 2.1: KET QUA CHAY CUA CHUONG TRINH NHAP.2: KET QUA CHAY CUA CHƯƠNG TRÌNH XUẤT.3: KET QUA CHAY CUA TRUONG HGP | LINEAR SEARCH HÌNH 2.4: KET QUA CHAY CUA TRUONG HGP 2 LINEAR SEARCH.5: KET QUA CHAY CUA TRUONG HOP | LINEAR SEARCH BẰNG THƯƠNG HIỆU.6:KÉT QUÁ CHẠY CỦA TRƯỜNG HOP 2 LINEAR SEARCH BANG THƯƠNG HIỆU.7: KET QUA CHAY CUA TRUONG HGP 1 BINARY SEARCH. Lc Qn nhờ 11 HÌNH 2.8: KET QUA CHAY CUA TRUONG HGP 2 BINARY SEARCH. cc nn nhờ 11 HiNH 2.9: KET QUA CHAY CUA TRUONG HGP 1 BINARY SEARCH BẰNG THƯƠNG HIỆU.10: KÉT QUÁ CHẠY CỦA TRƯỜNG HOP 2 BINARY SEARCH BANG THUONG HIEU.11: KET QUA CHAY CUA TRUGNG HOP l LINAER SEARCH CẢI TIỀN.12: KÉT QUÁ CHẠY CỦA TRƯỜNG HOP 2 LINAER SEARCH CAI TIEN.13: KÉT QUÁ CHẠY CỦA CHƯƠNG TRÌNH SẮP XÉP SHAKER SORT.14: KÉT QUÁ CHẠY CỦA CHƯƠNG TRÌNH SẮP XÉP SELECTION SORT.15: KÉT QUÁ CHẠY CỦA CHƯƠNG TRÌNH SẮP XÉP INTERCHANGE SORI.16: KET QUA CHAY CUA CHUGNG TRÌNH SẮP XÉP BUBBLE SORT.17: KÉT QUÁ CHẠY CỦA CHƯƠNG TRÌNH SẮP XÉP ÏNSERTION SORT.18: KÉT QUÁ CHẠY CỦA CHƯƠNG TRÌNH SẮP XÉP QUICK SORI.19: KÉT QUÁ CHẠY CỦA CHƯƠNG TRÌNH SẮP XÉP MERGE SORI.20:KẾT QUẢ CHẠY CỦA CHƯƠNG TRÌNH XÓA SẢN PHẢM.1: KẾT QUÁ CHẠY CHƯƠNG TRÌNH NHẬP. -L- L2 Q22 E21 121111 112112 11 tk He 32 HÌNH 3.2: KẾT QUÁ CHẠY CỦA CHƯƠNG TRÌNH XUẤTT.3:KÉT QUÁ CHẠY CỦA TRƯỜNG HỢP l LINEAR SEARCH.
Là Q Tnhh nh 35 HÌNH 3.4: KÉT QUẢ CHẠY CUA TRUONG HGP 2 LINEAR SEARCH. 2c Q Tnhh He 35 HiNH 3.5: KET QUA CHAY CUA TRUONG HGP 1 LINEAR SEARCH BẰNG TÊN THƯƠNG HIỆU.6:KÉT QUÁ CHẠY CỦA TRƯỜNG HỢP 2 LINEAR SEARCH BANG TEN THUONG HIEU.7:KÉT QUÁ CHẠY CHƯƠNG TRÌNH SẮP XÉP BẰNG SELECTION SORT.8: KÉT QUẢ CHẠY CHƯƠNG TRÌNH SẮP XÉP BẰNG ÏNTERCHANGE SORT.9: KÉT QUẢ CHẠY CHƯƠNG TRÌNH SẮP XÉP BẰNG BUBBLE SORIT.10: KÉT QUÁ CHẠY CHƯƠNG TRÌNH SẮP XÉP BẰNG INSERTION SORIT.11: KẾT QUÁ CHẠY CỦA HÀM SẮP XÉP QUICK SORT BẰNG MÃ SẢN PHẢM.12:KÉT QUÁ CHẠY CỦA CHƯƠNG TRÌNH XÓA ĐẦU DANH SÁCH. các 47 [Type here] Muc luc Chương l1: Giới thiệu 2. Xuất danh sách điện thoại :.
Tìm kiểm điện thoại bằng mã sản phẩm với Linear Search :. Tìm kiếm sản phâm điện thoại bằng Tên thương hiệu với Linear Search :. Tìm kiếm sản phâm điện thoại bằng mã sản phẩm với Binary Search:. Tìm kiếm sản phẩm điện thoại dựa vào tên thương hiệu với Binary Search:.
Tìm kiếm sản phẩm dựa vào Mả sản phẩm với LinearSearch cải tiễn. Sắp xếp điện thoại dựa vào mã sản phẩm với Shaker SOFf :. Sắp xếp điện thoại băng mã sản phẩm dựa vào Selection Sort :. Sắp xếp điện thoại với mã sản phâm bằng Interchange Soft :.
Sắp xếp điện thoại bằng mã sản phẩm với Bubble Sort :. Sắp xếp sản phẩm điện thoại với mã sản phâm băng Insertion Sort :. Sắp xếp điện thoại bằng mã sản phâm với Quiek S0ff:. Sắp xếp sản phẩm điện thoại với mã điện thoại bằng Merge Soft :.
Chương trình xóa sản phẩm điện thoại :. L - nn TH n HS n HS n ng 1111551155111 xxx 26 Chương 3. Tìm kiếm và sắp xếp trên danh sách liên kết. Định nghĩa danh sách liên kẾ.
TH ng HT HH HH HH rea 28 3. Các thao tác cơ bản trong Danh sách liên kẾt :.- 5+ SE SE1EEE£EEEE£EEEEcrzra 29 3. Tìm kiếm thông tin điện thoại theo mã sản phẩm: lecetetetteeeceeeeceeaeuaauseessceeecanenees 33 3. Tìm thông tin điện thoại theo tên thương hiệu dùng Linear Search :.
Sap xép danh sach theo Ma san pham voi Interchange Sort 2. Sap xép danh sach theo Ma san pham voi Bubble Sort :. Sắp xếp danh sách theo giá tiền ding Insertion Sort :. Sắp xếp danh sách điện thoại đựa vào Mã sản phẩm bằng QuickSort :.
43 Đồ án cuôi kỳ câu trúc dữ liệu và giải thuật Dé tai : Quan lí sản phâm điện thoại Ll. Giới thiệu : Xây dựng chương trình nhằm tìm kiếm và sắp xếp thông tin trên các cầu trúc giúp hỗ trợ quản lí danh mục sản phẩm điện thoại. Thông tin điện thoại bao gồm: Mã sản phẩm, thương hiệu, ROM (Read Only Memory), RAM (Ramdom Access Memory), s6 SIM, giá tiền. Cấu trúc : Thông tin của điện thoại can quan li: MaSP: Mã sản phẩm, dùng đề phân biệt từng sản phẩm điện thoại (giống thương hiệu hoặc khác), gồm một chuỗi kí tự số gồm 13 kí tự.
Trong đó, 2-3 kí tự đầu qui định quốc gia sản xuất. Thuonghieu: Thương hiệu của điện thoại, chỉ quản lí các tên tiếng Anh với chiều đài tối đa khoảng 7 ký tự. RƠM: Dung lương bộ nhớ ROM của điện thoại, có thể lưu trữ nhiều gigabyte (GB) tu 1-256 GB. RAM: Dung lượng bộ nhớ RAM của điện thoại, chỉ lưu trữ được vài megabyte (MB) chỉ có 4-8 MB mỗi chip.
SoSIM: Số điện thoại, gồm một chuỗi kí tự số gồm 10 kí tự. Số SIM có thể có sự trùng nhau. Gia: Giá tiền của mỗi chiếc điện thoại, gồm một chuỗi kí tự với chiều đài tối đa 10 kí tự. Ngăn cách các số hàng nghìn là dấu chấm, với đơn vị giá tiên là vnđ.
Cấu trúc đữ liệu hỗ trợ quản lí thông tin điện thoại: MaSP: chuỗi gồm I3 kí tự. Thuonghieu: chuỗi tối đa 8 kí tự. SoSIM: chuỗi gồm l0 kí tự. ROM: số thực đương (ROM > 0).
RAM: số thực đương (RAM > 0). Gia: số thực dương, don vi la trigu vnd (Gia > 0). 1 Đồ án cuôi kỳ câu trúc dữ liệu và giải thuật Dé tai : Quan lí sản phâm điện thoại Định nghĩa cấu trúc điện thoại: struct Dienthoai { char MaSP[13]; char Thuonghieu[10]; char SoSIM[15]; int ROM; int RAM; float Gia; k 1. Dữ liệu mẫu: STT Mã SP Thuong |ROM| RA Số SIM Giá tiền hiệu M l 2200 Samsung 210 |8 0332049368 31 triệu vnđ 2 2202 Oppo 200 |8 0333474809 5.9 triệu vnđ 3 2204 Iphone 220_ |6 0353480465 25.9 triệu vnđ 4 2220 Samsung 186 |4 0333484849 16.8 triệu vnđ 5 2222 Vivo 173 |4 0335280965 5 triệu vnđ 6 2121 Redmi 164 |6 0363480454 3.9 triệu vnđ 7 2304 Iphone 240 |8 0353680684 39.7 triệu vnđ 8 2337 Oppo 180 |6 0343234567 3 triệu vnđ 9_ 12967 Samsung 200 |8 0332463890 18 triệu vnđ 10 | 3000 Vivo 178 |4 0972653845 2.
Các chức năng : Các chức năng trong mảng cấu trúc : -_ Nhập danh sách điện thoại - _ Xuất danh sách điện thoại - _ Tìm thông tin điện thoại theo Mã sản phẩm (dùng Linear Search và Binary Search) - Tim thông tin điện thoại theo Tên thương hiệu (dung Linear Search va Binary Search) - Sap xép danh sach theo Ma san pham (dting Shaker Sort) - Sắp xếp đanh sách theo Mã sản phẩm (dùng Selection Sort) - _ Sắp xếp đanh sách theo Mã sản phẩm (dùng Interchange Sort) - _ Sắp xếp đanh sách theo Mã sản phẩm (dùng Bubble Sort) - Sap xép danh sach theo Ma san pham (dung Insertion Sort) - _ Sắp xếp đanh sách theo Mã sản phẩm ( đùng Quick Sort) -_ Sắp xếp danh sách theo Mã sản phâm (dùng Merge Sort) 2 Đồ án cuôi kỳ câu trúc dữ liệu và giải thuật Dé tai : Quan lí sản phâm điện thoại Xóa sản phâm điện thoại dựa vào biên phụ vi tri Các chức năng trên danh sách liên kết : Nhập danh sách điện thoại Xuất danh sách điện thoại Tìm thông tin sản phẩm điện thoại theo Mã sản phẩm (dùng Linear Search). Tìm thông tin sản phâm điện thoại theo Tên thương hiệu ( ding Linear Search) Sắp xếp danh sách sản phẩm theo Ma san pham ( ding Selection Sort) Sap xép danh sach san pham theo Ma san pham ( ding Interchange Sort) Sap xép danh sach san pham theo Ma san pham ( ding Bubble Sort) Sap xép danh sach san pham theo Gia san pham (dung Insertion Sort) Sắp xếp danh sách sản phẩm theo Mã sản phẩm ( dùng Quick Sort) Đồ án cuôi kỳ câu trúc dữ liệu và giải thuật Dé tai : Quan lí sản phâm điện thoại 2.1 Nhập danh sách diện thoại : 2.1 Chương trình con : Đề nhập danh sách điện thoại, ta cần xây đựng 2 chương trình con gồm: - _ void Nhap_o (Dienthoai &b): Hỗ trợ nhập thông tin của sản phẩm điện thoại gom MaSP, Thuonghieu, ROM, RAM, SoSIM, Gia. - void Nhap (Dienthoai arr[], int n): Hỗ trợ nhập danh sách điện thoại vào. //Dinh nghĩa hàm nhập ô void Nhap_o(Dienthoai& b) { cout << "\nNhap ma san pham: "; cin.MaSP, 13); cơut << "\nNhap thuong hieu cua dien thoai: "; cin.
Thuonghieu, 10); cout << "\nNhap so SIM: "; cin.SoSIM, 15); cout << "\nNhap so GB ROM chua : "; cin >> b.ROM; cout << "\nNhap so MB Ram chua: "; cin >> b.RAM; cout << "\nNhap gia tien cua dien thoai (trieu vnd): cin >> b.ignore(); } //Dinh nghia ham nhap mang void Nhap(Dienthoai arr[], int n) { for (int 1 = 0; 1 <n; i++) { cout << "Nhap phan tu a [” <<1 << "]: "<< endl; Nhap_o(arr[i]); Đồ án cuôi kỳ câu trúc dữ liệu và giải thuật Dé tai : Quan lí sản phâm điện thoại 2.3 Kết quả chạy : pham: 2202 thoai: Samsung 220A a dien thoai: Iphone Hình 2.1: Kết quả chạy của chương trình nhập Đồ án cuôi kỳ câu trúc dữ liệu và giải thuật Dé tai : Quan lí sản phâm điện thoại 2. Xuất danh sách điện thoại : 2. Chương trình con : Đề xuất danh sách điện thoại, ta cũng cần phải xây dựng 2 chương trình con, bao gồm: - void Xuat_o (Dienthoai b): Hỗ trợ xuất các thông tin đã nhập của một sản phẩm điện thoại. - void Xuat ( Dienthoai arr[], int n): H6 tro xuat mang san pham dién thoại.
//Dinh nghia ham xuaHé void Xuat_o(Dienthoai b) { cout << b.Gia <<" (trieu)" << "\t"; } //Định nghĩa hàm xuầHmang void Xuat(Dienthoai arr[], int n) for (int 1 = 031 < n;i++) { Xuat_o(arr[i]); cout << endl; 2. Kết quả chạy: DANH SACH THONG TIN CUA DIEN THOAI MA SP THUONG HIEU ROM RAM 2202 Samsung 2204 Hình 2.2: Kết quả chạy của chương trình xuất 2. Tìm kiếm điện thoại bằng mã sản phẩm với Linear Search : 2. Chương trình con : Thực hiện tìm kiếm với khóa chính là Mã sản phẩm (dữ liệu khóa).
Để tìm thông tin của điện thoại dựa theo mã sản phẩm, ta cần xây dựng như sau: - void LinearSearch ( Dienthoai arr[],int n, char x[] ) : Giải thuật tìm kiếm bằng tuyến tính, hồ trợ tìm ra điện thoại với mã sản phâm có được. /Định nghĩa hàm LinearSearch theo mã sán phầm int LinearSearch(Dienthoai arr[], int n, char x[]) { inti=0; while (stremp(arr[i].MaSP,x) !