Bài toán quản lý hàng mỹ phẩm môn cấu trúc dữ liệu và giải thuật và code

19 11 0
Bài toán quản lý hàng mỹ phẩm môn cấu trúc dữ liệu và giải thuật và code

Đ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

Viết chương trình quản lý các đối tượng để thực hiện cho “Bài toán quản lý hàng mỹ phẩm”. Môn IT05 cấu trúc dữ liệu và giải thuật đã bao gồm code c++ , Viện Đại Học Mở Hà Nội.Đa phần các cửa hàng mỹ phẩm ở Việt Nam đều được mở ra tự phát, hoặc được truyền lại từ đời này sang đời khác. Các chủ cửa hàng chủ yếu quản lý cửa hàng theo độ nhạy và kinh nghiệm gia truyền được truyền lại mà thiếu kinh nghiệm quản lý khoa học và chưa có chiến lược phát triển cụ thể. Chính vì vậy có chương trình quản lý cửa hàng mỹ phẩm là quan trọng

MỤC LỤC XÁC ĐỊNH BÀI TOÁN 2 XÁC ĐỊNH CTDL BIỂU DIỄN BÀI TOÁN XÁC ĐỊNH CÁC THUẬT TOÁN – CÁC CHỨC NĂNG LẬP TRÌNH – CÀI ĐẶT KIỂM THỬ - LẬP BỘ TEST 13 5.1 Chọn yêu cầu 13 5.2 Nhập thông tin mỹ phẩm 14 5.3 Danh sách mỹ phẩm nhập 15 5.4 Tìm kiếm mỹ phẩm theo tên .15 5.5 Sắp xếp danh sách mỹ phẩm theo giá bán giảm dần 15 5.6 Tính tổng tiền loại mỹ phẩm cửa hàng 15 5.7 Hiển thị loại mỹ phẩm số lượng lớn 10 16 5.8 Tìm mỹ phẩm có số lượng lớn 16 5.9 Thêm nhân viên vào danh sách 17 5.10 Hiển thị danh sách nhân viên nhập .18 5.11 Tìm kiếm nhân viên theo tên 18 5.12 Sắp xếp nhân viên theo tên 19 Kết luận hướng phát triển 19 ĐỀ TÀI: Viết chương trình quản lý đối tượng để thực cho “Bài toán quản lý hàng mỹ phẩm” I Nội dung: * Các thao tác cần thực - Nhập – In danh sách đối tượng; - Thêm, sửa, xoá đối tượng - Tìm kiếm đối tượng - Sắp xếp đối tượng - Các yêu cầu tìm phần tử lớn nhất, nhỏ - Các u cầu tính tổng, trung bình, đếm - Các yêu cầu thống kê theo điều kiện XÁC ĐỊNH BÀI TOÁN Đa phần cửa hàng mỹ phẩm Việt Nam mở tự phát, truyền lại từ đời sang đời khác Các chủ cửa hàng chủ yếu quản lý cửa hàng theo độ nhạy kinh nghiệm gia truyền truyền lại mà thiếu kinh nghiệm quản lý khoa học chưa có chiến lược phát triển cụ thể Chính có chương trình quản lý cửa hàng mỹ phẩm quan trọng XÁC ĐỊNH CTDL BIỂU DIỄN BÀI TỐN - Quản lý thơng tin sản phẩm - Quản lý thông tin nhân viên XÁC ĐỊNH CÁC THUẬT TOÁN – CÁC CHỨC NĂNG Tổ chức lưu trữ toán : Danh sách liên kết đơn Các thuật toán     Phương pháp Đổi chỗ trực tiếp (Interchange sort) Phương pháp Nổi bọt (Bubble sort) Phương pháp Chèn trực tiếp (Insertion sort) Phương pháp Chọn trực tiếp (Selection sort) Các chức như: - Tạo list Tạo struct Các hàm xử lý liệu (thêm, sửa, xố, tìm kiếm…) Các hàm xử lý khác Chương trình chạy ban đầu xuất danh sách lựa chọn chức năng: Nhập thông tin mỹ phẩm - In danh sách mỹ phẩm nhập Tìm kiếm mỹ phẩm theo tên Sắp xếp theo đơn giá bán giảm dần Tính tổng tiền mỹ phẩm Hiển thị mỹ phẩm có số lượng lớn 10 Tìm kiếm mỹ phẩm có số lượng lớn Thêm nhân viên vào danh sách Hiển thị danh sách nhân viên nhập Tìm kiếm nhân viên theo tên Sắp xếp danh sách nhân viên giảm dần LẬP TRÌNH – CÀI ĐẶT Tiến hành cài đặt tập, Liệt kê cấu trúc chương trình tổng quát đưa số code xử lý - Tiến hành code #include #include struct MyPham; struct NhanVien; void hienThiDSMyPham(struct MyPham* ds, int slsv); void hienThiTenCot(); void hienThiDSNhanVien(struct NhanVien* ds, int slsv); void hienThiTenCotNhanVien(); struct MyPham { char MaMyPham[50]; char TenMyPham[50]; char Hang[50]; float DonGiaBan; int SoLuongBan; float ThanhTien; }; //nhanvien struct NhanVien{ char MaNhanVien[50]; char TenNhanVien[50]; }; struct MyPham nhapMyPham() { struct MyPham MyPham; printf("\nNhap Ma my pham: "); scanf("%s", &MyPham.MaMyPham); printf("\nNhap Ten my pham: "); scanf("%s", &MyPham.TenMyPham); printf("\nNhap hang: "); scanf("%s", &MyPham.Hang); printf("\nNhap Don gia Ban: "); scanf("%f", &MyPham.DonGiaBan); printf("\nNhap so luong: "); scanf("%d", &MyPham.SoLuongBan); return MyPham; } //nhanvien struct NhanVien nhapNhanVien() { struct NhanVien NhanVien; printf("\nNhap Ma nhan vien: "); scanf("%s", &NhanVien.MaNhanVien); printf("\nNhap Ten nhan vien: "); scanf("%s", &NhanVien.TenNhanVien); return NhanVien; } void hienThiMyPham(struct MyPham sv){ printf("%-20s %-20s %-20s %-10.2f %-10d %-10.2f\n", sv.MaMyPham, sv.TenMyPham, sv.Hang, sv.DonGiaBan, sv.SoLuongBan, sv.DonGiaBan*sv.SoLuongBan); } // nhan vien void hienThiNhanVien(struct NhanVien sv){ printf("%-20s %-20s \n", sv.MaNhanVien, sv.TenNhanVien); } void hienThiDSMyPham(struct MyPham* ds, int slsv) { hienThiTenCot(); int i; for(i = 0; i < slsv; i++) { hienThiMyPham(ds[i]); } printf(" -" " \n"); } //dsnhanvien void hienThiDSNhanVien(struct NhanVien* ds, int slsv) { hienThiTenCotNhanVien(); int i; for(i = 0; i < slsv; i++) { hienThiNhanVien(ds[i]); } printf(" -" " \n"); } void hienThiTenCot() { printf(" -" " \n"); printf("%-20s %-20s %-20s %-10s %-10s %-10s \n", "MaMyPham", "TenMyPham", "Hang", "DonGiaBan", "SoLuongBan", "ThanhTien"); } //hienthicotnhanvien void hienThiTenCotNhanVien() { printf(" -" " \n"); printf("%-20s %-20s \n", "MaNhanVien", "TenNhanVien"); } void timTheoTen(struct MyPham* ds, int slsv) { char ten[20]; printf("Nhap ten My Pham can tim kiem: "); scanf("%s", ten); hienThiTenCot(); int i, timSV = 0; for(i = 0; i < slsv; i++) { if(strcmp(ten, ds[i].TenMyPham) == 0) { hienThiMyPham(ds[i]); timSV = 1; } } if(timSV == 0) { printf("Khong co My Pham %s danh sach!\n", ten); } } // tìm kiem ten nhan vien void timTheoTenNhanVien(struct NhanVien* ds, int slsv) { char ten[20]; printf("Nhap ten Nhan Vien can tim kiem: "); scanf("%s", ten); hienThiTenCotNhanVien(); int i, timSV = 0; for(i = 0; i < slsv; i++) { if(strcmp(ten, ds[i].TenNhanVien) == 0) { hienThiNhanVien(ds[i]); timSV = 1; } } if(timSV == 0) { printf("Khong co nhan vien %s danh sach!\n", ten); } } void sapXepTheoDonGia(struct MyPham* ds, int slsv) { int i, j; for(i = 0; i < slsv - 1; i++) { for(j = i + 1; j < slsv; j ++) { if(ds[i].DonGiaBan < ds[j].DonGiaBan) { struct MyPham sv = ds[i]; ds[i] = ds[j]; ds[j] = sv; } } } } //sap xep nhan vien theo ten void sapXepNhanVienTheoTen(struct NhanVien* ds, int slsv) { int i, j; for(i = 0; i < slsv - 1; i++) { for(j = i + 1; j < slsv; j ++) { if(ds[i].TenNhanVien < ds[j].TenNhanVien) { struct NhanVien sv = ds[i]; ds[i] = ds[j]; ds[j] = sv; } } } } void TinhTongTienMyPham(struct MyPham* ds, int slsv) { int i; for(i = 0; i < slsv - 1; i++) { ds[i].ThanhTien=ds[i].SoLuongBan*ds[i].DonGiaBan; } } void MyPhamSLLonNhat( struct MyPham* sv, int slsv) { int index=1; float max=0; int i; for(i=0;imax) { max=sv[i].SoLuongBan; index=i; } } hienThiMyPham(sv[index]); } void MyPhamSLlonhon10( struct MyPham* sv, int slsv) { int index=1; float max=0; int i; for(i=0;i10) { hienThiMyPham(sv[i]); } } } int main() { int i; struct MyPham dssv[100]; struct NhanVien dsnv[100]; int slsv = 0; int luaChon; { printf("=============== MENU ==============="); printf("\n1 Them My Pham vao danh sach."); printf("\n2 Hien thi danh sach My Pham da nhap."); printf("\n3 Tim kiem My Pham theo ten."); printf("\n4 Sap xep theo don gia ban giam dan."); printf("\n5 Tinh tong tien My Pham."); printf("\n6 Hien thi cac My Pham co so luong lon hon 10."); printf("\n7 Tim My Pham co so luong lon nhat."); printf("\n8 Them Nhan Vien Vao danh sach."); printf("\n9 Hien thi danh sach nhan vien da nhap."); printf("\n10 Tim kiem nhan vien theo ten."); printf("\n11 Sap xep nhan vien theo ten."); printf("\n0 Thoat chuong trinh."); printf("\nBan chon ? "); scanf("%d", &luaChon); struct MyPham sv; struct NhanVien nv; switch(luaChon) { case 0: break; case 1: 10 sv = nhapMyPham(); dssv[slsv++] = sv; break; case 2: hienThiDSMyPham(dssv, slsv); break; case 3: timTheoTen(dssv, slsv); break; case 4: sapXepTheoDonGia(dssv, slsv); printf("\nDanh sach My Pham sau sap xep theo don gia ban giam dan:\n"); hienThiDSMyPham(dssv, slsv); break; case 5: printf(" -" " \ n"); printf("%-20s %-20s %-20s %-10s %-10s %-10s \n", "MaMyPham", "TenMyPham", "Hang", "DonGiaBan", "SoLuongBan", "ThanhTien"); for(i = 0; i < slsv; i++) { printf("%-20s %-20s %-20s %-10.2f %-10d %-10.2f\ n", dssv[i].MaMyPham, dssv[i].TenMyPham, dssv[i].Hang, dssv[i].DonGiaBan, dssv[i].SoLuongBan, dssv[i].SoLuongBan* dssv[i].DonGiaBan); 11 } break; case 6: MyPhamSLlonhon10(dssv, slsv); break; case 7: MyPhamSLLonNhat(dssv, slsv); break; case 8: nv = nhapNhanVien(); dsnv[slsv++] = nv; break; case 9: hienThiDSNhanVien(dsnv, slsv); break; case 10: timTheoTenNhanVien(dsnv, slsv); break; case 11: sapXepNhanVienTheoTen(dsnv, slsv); printf("\nDanh sach nhan vien sap xep ten tu z den a:\n"); hienThiDSNhanVien(dsnv, slsv); break; default: printf("Sai chuc nang, vui long chon lai!\n"); 12 break; } } while(luaChon); return 0; } KIỂM THỬ - LẬP BỘ TEST Thực chạy với liệu mẫu (Input-Output) xác định phần Cho biết kết chạy chức tương ứng liệu Input Chụp hình ảnh kết chương trình tương ứng 5.1 Chọn yêu cầu 13 5.2 Nhập thông tin mỹ phẩm 14 5.3 Danh sách mỹ phẩm nhập 5.4 Tìm kiếm mỹ phẩm theo tên 5.5 Sắp xếp danh sách mỹ phẩm theo giá bán giảm dần 5.6 Tính tổng tiền loại mỹ phẩm cửa hàng 15 5.7 Hiển thị loại mỹ phẩm số lượng lớn 10 5.8 Tìm mỹ phẩm có số lượng lớn 16 5.9 Thêm nhân viên vào danh sách 17 5.10 Hiển thị danh sách nhân viên nhập 5.11 Tìm kiếm nhân viên theo tên 18 5.12 Sắp xếp nhân viên theo tên Kết luận hướng phát triển - Hoàn thiện chức phần mềm Khắc phục lỗi tồn hệ thống Ghi nhận thêm yêu cầu khác phần mềm 19

Ngày đăng: 27/07/2023, 19:39

Tài liệu cùng người dùng

Tài liệu liên quan