24/05/2018, 14:15

Danh sách một số lớp được định nghĩa trong C++

0 Lớp ThanhToan class ThanhToan{ private: float tongSoTien; public: ThanhToan(float soTien){ tongSoTien = soTien; } float getAmount(){return ...

0

Lớp ThanhToan

class ThanhToan{
    private:
    float tongSoTien;
    public:
    ThanhToan(float soTien){
    tongSoTien = soTien;
    }
    float getAmount(){return tongSoTien;}
    };
    

Lớp MoTaMathang

#include <string.h>
    public class MoTaMatHang{
    private:
    int upc = 0;
    float giaBan = 0.0; String moTa = "";
    public:
    MoTaMatHang(int ma, float p, String mt){
    upc = ma; giaBan = p; strcpy(moTa, mt);
    }
    MoTaMatHang(int ma, float p, String mt){
    upc = 0; giaBan = 0; strcpy(moTa, "");
    }
    int getUPC(){return upc;}
    float getPrice(){return giaBan;}
    String getDescrip(){return moTa;}
    
    };
    

Lớp DanhMucMatHang

#define N 100
    public class DanhMucMatHang{
    private:
    MoTaMatHang danhSachMH[N];
    public:
    DanhMucMatHang(){
    for(inh k = 0; k < N; k++)
    danhSachMH[k] = new MoTaMatHang();
    }
    MoTaMatHang find(int upc){
    for(k = 0; k < N; k++)
    if (danhSachMH[k].getUPC() == upc) return danhSachMH[k];
    }
    };
    

Lớp DongBanHang

class DongBanHang{
    private:
    int soLuong; MoTaMatHang moTa;
    public:
    DongBanHang(MoTaMatHang mt, int n){
    moTa = mt;
    soLuong = n;
    }
    float subtotal(){
    return soLuong * moTa.getPrice();
    }
    };
    

Lớp PhienBanHang

#define M 20
    class PhienBanHang{
    private:
    DongBanHang danhSachBan[M];
    Date ngayBan;// Kiểu ngày/tháng/năm
    Time gioBan;// Kiểu giờ/phút/giây int soDong = 0;
    int isComplete = 0;// false
    ThanhToan traTien;
    public:
    getBalance(){
    return traTien.getAmount() - total();
    }
    void becomeComplete(){isComplete = 1;}
    int isComplete() {return isComplete;}
    void makeLineItem(MoTaMatHang mt, int sl){
    lineItem[soDong++]= new DongBanHang(mt, sl);
    }
    float total(){
    float t = 0.;
    for (int k = 0; k < soDong; k++)
    t += lineItem[k].subtotal();
    return t;
    }
    void makePayment(float soTien){
    traTien = new ThanhToan(soTien);
    }
    };
    

Lớp HBH

class HBH{ private:
    DanhMucMatHang catalog;
    PhienBanHang banHang;
    public:
    HBH(DanhMucMatHang danhMuc){ catalog = danhMuc;}
    void endSale(){ banHang.becomeComplete();}
    void enterItems(int upc, int soLuong){
    if (isNewSale(){
    banHang = new PhienBanHang();
    }
    MoTaMatHang mt = catalog.find(upc);
    banHang.makeLineItem(mt, soLuong);
    }
    void makePayment(soTien){
    banHang.makePayment(soTien)}
    int isNewSale(){
    return (banHang == null) || (banHang.isComplete());
    }
    };

Lớp CuaHang

class CuaHang{
    private:
    DanhMucMatHang dm = new DanhMucMatHang(); HBH post = new HBH(dm);
    public:
    HBH getPOST() {return post;}
    };
    

Tương tự, dễ dàng định nghĩa cho tất cả các lớp khác của hệ thống HBH.

0