Bài tập  /  Bài đang cần trả lời

Cửa hàng kinh doanh mặt hàng sữa cần tin học hóa với các thông tin mô tả như sau: Sữa có các loại: sữa bột, sữa pha sẵn, sữa đặc. Sữa bột có các thuộc tỉnh: mã hàng, tên hàng, trọng lượng (g), ngày sản xuất, ngày hết hạn, nơi sản xuất, đơn giá nhập, đơn giá bản. Quy cách đóng gói: mỗi thùng 6 lon. Sữa pha sẵn có các thuộc tỉnh: mã hàng, tên hàng, dung tích (ml), ngày sản xuất, ngày hết hạn, nơi sản xuất, đơn giá nhập, đơn giá bản. Quy cách đóng gói: mỗi lốc 6 hộp..

Cửa hàng kinh doanh mặt hàng sữa cần tin học hóa với các thông tin mô tả như sau: Sữa có các loại: sữa bột, sữa pha sẵn, sữa đặc. Sữa bột có các thuộc tỉnh: mã hàng, tên hàng, trọng lượng (g), ngày sản xuất, ngày hết hạn, nơi sản xuất, đơn giá nhập, đơn giá bản. Quy cách đóng gói: mỗi thùng 6 lon. Sữa pha sẵn có các thuộc tỉnh: mã hàng, tên hàng, dung tích (ml), ngày sản xuất, ngày hết hạn, nơi sản xuất, đơn giá nhập, đơn giá bản. Quy cách đóng gói: mỗi lốc 6 hộp, mỗi thùng 8 lốc Sữa đặc có các thuộc tỉnh: mã hàng, tên hàng, trọng lượng (g), ngày sản xuất, ngày hết hạn, nơi sản xuất, đơn giá nhập, đơn giá bản. Quy cách dòng gởi: mỗi thùng 4 lon Khách hàng được chia thành hai loại (khách VIP và khác thường) với các thộc tính sau: số điện thoại, tên khách hàng, địa chỉ, loại khách hàng Đơn hàng có các thuộc tỉnh sau: mã đơn hàng, ngày mua hàng, số điện thoại khách hàng, hàng cùng số lượng mua của mỗi mặt hàng, tổng tiền, chiếc khẩu, thành tiền. Khuyến mãi Mua nguyên thùng sữa bột giảm 3%, danh sách Mua nguyên thùng sữa pha sẵn giảm 5%. Mua nguyên thùng sữa đặc giảm 5%. Khách VIP được chiếc khẩu thêm 5% trên tổng giá trị đơn hàng. Ghi chú: các thuộc tỉnh không được để trồng ngoại trừ tên và địa chỉ khách hàng, các giá trị số không được âm

a) Vẽ sơ đồ class thể hiện sự phân cấp kế thừa cho các class trên.

b) Xây dựng các class theo sơ đồ trên bao gồm: -Các hàm constructor, getter/setter, input/output, -Hàm tính số tiền thanh toán cho các đơn hàng bao gồm 10% thuế giá trị gia tăng..

c) Xây dựng các class Danh sách hàng chứa các mặt hàng (không trùng mã hàng) bao gồm các hàm thêm xóa sửa hảng, hàm sắp xếp danh sách tăng (không giảm) theo đơn giả

d) Xây dựng các class Danh sách khách hàng chứa các khách hàng (không trùng số điện thoại) bao gồm các hàm thêm/xóa/sủa khách hàng và hàm tim khách hàng có số lần mua hàng nhiều nhất trong năm (khách hàng thường xuyên).

giup em voi a

1 Xem trả lời
Hỏi chi tiết
155
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để giúp bạn với yêu cầu trên, chúng ta cần xây dựng các class theo sơ đồ class thể hiện sự phân cấp kế thừa như sau:

1. Class Sữa:
- Các thuộc tính: mã hàng, tên hàng, ngày sản xuất, ngày hết hạn, nơi sản xuất, đơn giá nhập, đơn giá bán.
- Các phương thức: constructor, getter/setter, input/output.

2. Class Sữa Bột, Sữa Pha Sẵn, Sữa Đặc kế thừa từ class Sữa:
- Các thuộc tính riêng của từng loại sữa (trọng lượng, dung tích).
- Các phương thức: constructor, getter/setter, tính số tiền thanh toán (bao gồm 10% thuế VAT).

3. Class Khách Hàng:
- Các thuộc tính: số điện thoại, tên khách hàng, địa chỉ, loại khách hàng.
- Các phương thức: constructor, getter/setter, input/output.

4. Class Đơn Hàng:
- Các thuộc tính: mã đơn hàng, ngày mua hàng, số điện thoại khách hàng, hàng cùng số lượng mua của mỗi mặt hàng, tổng tiền, chiết khẩu, thành tiền.
- Các phương thức: constructor, getter/setter, tính số tiền thanh toán (bao gồm 10% thuế VAT).

5. Class Danh Sách Hàng:
- Các phương thức: thêm, xóa, sửa hàng; sắp xếp danh sách tăng theo đơn giá.

6. Class Danh Sách Khách Hàng:
- Các phương thức: thêm, xóa, sửa khách hàng; tìm khách hàng có số lần mua hàng nhiều nhất trong năm.

Bạn có thể tự xây dựng các class trên theo yêu cầu cụ thể của từng class. Nếu cần hỗ trợ thêm, hãy liên hệ để được giúp đỡ. Chúc bạn thành công!
0
0
Nhã Nguyễn
05/05 23:09:10
+4đ tặng
a) Sơ đồ class thể hiện sự phân cấp kế thừa cho các class trên như sau:

```
                +----------------+
                |      Hàng      |
                +----------------+
                       /|\
                        |
             +-------------------+
             |                   |
    +-------------+    +------------------+
    | SữaBột     |    | SữaPhaSẵn      |   
    +-------------+    +------------------+
                           |
                      +-------------+
                      | SữaĐặc     |
                      +-------------+
```

b) Xây dựng các class:

```python
class Hang:
    def __init__(self, ma_hang, ten_hang, ngay_san_xuat, ngay_het_han, noi_san_xuat, don_gia_nhap, don_gia_ban):
        self.ma_hang = ma_hang
        self.ten_hang = ten_hang
        self.ngay_san_xuat = ngay_san_xuat
        self.ngay_het_han = ngay_het_han
        self.noi_san_xuat = noi_san_xuat
        self.d />        self.d />
    def tinh_thanh_tien(self, so_luong):
        return (self.don_gia_ban * so_luong) * 1.1

class SuaBot(Hang):
    def __init__(self, ma_hang, ten_hang, trọng_lượng, ngay_san_xuat, ngay_het_han, noi_san_xuat, don_gia_nhap, don_gia_ban):
        super().__init__(ma_hang, ten_hang, ngay_san_xuat, ngay_het_han, noi_san_xuat, don_gia_nhap, don_gia_ban)
        self.trọng_lượng = trọng_lượng

class SuaPhaSan(SuaBot):
    def __init__(self, ma_hang, ten_hang, dung_tich, ngay_san_xuat, ngay_het_han, noi_san_xuat, don_gia_nhap, don_gia_ban):
        super().__init__(ma_hang, ten_hang, ngay_san_xuat, ngay_het_han, noi_san_xuat, don_gia_nhap, don_gia_ban)
        self.dung_tich = dung_tich

class SuaDac(SuaBot):
    pass

class KhachHang:
    def __init__(self, so_dien_thoai, ten_khach_hang, dia_chi, loai_khach_hang):
        self.so_dien_thoai = so_dien_thoai
        self.ten_khach_hang = ten_khach_hang
        self.dia_chi = dia_chi
        self.loai_khach_hang = loai_khach_hang

class DonHang:
    def __init__(self, ma_don_hang, ngay_mua_hang, so_dien_thoai_khach_hang, hang_cung_so_luong, tong_tien, chiet_khau, thanh_tien):
        self.ma_d />        self.ngay_mua_hang = ngay_mua_hang
        self.so_dien_thoai_khach_hang = so_dien_thoai_khach_hang
        self.hang_cung_so_lu />        self.t />        self.chiet_khau = chiet_khau
        self.thanh_tien = thanh_tien

    def tinh_thanh_tien(self):
        return self.tong_tien * 1.1
```

c) Xây dựng các class Danh sách hàng:

```python
class DanhSachHang:
    def __init__(self):
        self.danh_sach_hang = []

    def them_hang(self, hang):
        if hang.ma_hang not in [item.ma_hang for item in self.danh_sach_hang]:
            self.danh_sach_hang.append(hang)
            return True
        return False

    def xoa_hang(self, ma_hang):
        self.danh_sach_hang = [item for item in self.danh_sach_hang if item.ma_hang != ma_hang]

    def sua_hang(self, ma_hang, ten_hang, ngay_san_xuat, ngay_het_han, noi_san_xuat, don_gia_nhap, don_gia_ban):
        for item in self.danh_sach_hang:
            if item.ma_hang == ma_hang:
                item.ten_hang = ten_hang
                item.ngay_san_xuat = ngay_san_xuat
                item.ngay_het_han = ngay_het_han
                item.noi_san_xuat = noi_san_xuat
                item.d />                item.d />                return True
        return False

    def sap_xep(self):
        self.danh_sach_hang.sort(key=lambda x: x.don_gia_ban)
```

d) Xây dựng các class Danh sách khách hàng:

```python
class DanhSachKhachHang:
    def __init__(self):
        self.danh_sach_khach_hang = []

    def them_khach_hang(self, khach_hang):
        if khach_hang.so_dien_thoai not in [item.so_dien_thoai for item in self.danh_sach_khach_hang]:
            self.danh_sach_khach_hang.append(khach_hang)
            return True
        return False

    def xoa_khach_hang(self, so_dien_thoai):
        self.danh_sach_khach_hang = [item for item in self.danh_sach_khach_hang if item.so_dien_thoai != so_dien_thoai]

    def sua_khach_hang(self, so_dien_thoai, ten_khach_hang, dia_chi, loai_khach_hang):
        for item in self.danh_sach_khach_hang:
            if item.so_dien_thoai == so_dien_thoai:
                item.ten_khach_hang = ten_khach_hang
                item.dia_chi = dia_chi
                item.loai_khach_hang = loai_khach_hang
                return True
        return False

    def tim_khach_hang_thuong_xuyen(self):
        count = {}
        for don_hang in self.danh_sach_don_hang:
            if don_hang.so_dien_thoai_khach_hang not in count:
                count

[don_hang.so_dien_thoai_khach_hang] = 1
            else:
                count[don_hang.so_dien_thoai_khach_hang] += 1
        max_count = max(count.values())
        for khach_hang in self.danh_sach_khach_hang:
            if khach_hang.so_dien_thoai in count and count[khach_hang.so_dien_thoai] == max_count:
                return khach_hang
```

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×