ÂAÛI HOAÛC ÂAÌ NÀÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Khoa Đa Phương Tiện o0o Báo Cáo Cuối kì Môn Lập Trình Hướng Đối Tượng C++ Tên đề tài QUẢN LÝ NHẬP HÀNG 2 MỤC LỤC 1 Class HangHoa 4 1 1 Thuộ.
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Khoa Đa Phương Tiện -o0o - Báo Cáo Cuối kì Mơn Lập Trình Hướng Đối Tượng C++ Tên đề tài: QUẢN LÝ NHẬP HÀNG MỤC LỤC Class HangHoa 1.1 Thuộc tính 1.2 Các phương thức: 1.2.1 Hàm khởi tạo 1.2.2 Hàm xuất HH 1.2.3 Hàm khởi tạo có tham số 1.2.4 Các hàm getter thuộc tính 1.2.5 Các hàm setter thuộc tính class NhapHang 2.1 Thuộc tính 2.2 Phương thức 2.2.1 Hàm khởi tạo có tham số 2.2.2 Hàm khởi tạo khơng có tham số 2.2.3 Hàm ngày nhập 2.2.4 Hàm xuat 2.2.5 Các hàm setter 2.2.6 Các hàm getter Class NhapChiTiet 3.1 Các thuộc tính 3.2 Các phương thức 3.2.1 Hàm khởi tạo không tham số 3.2.2 Hàm hủy 3.2.3 Hàm khởi tạo có tham số 3.2.4 Hàm xuất nhapchitiet 3.2.5 Các hàm getter 3.2.6 Các hàm setter Hàm main 10 4.1 Hàm checkMAHANG 10 4.2 Hàm checkMAHANG_1 11 4.3 Hàm checkMADONNHAP 11 4.4 Hàm checkMANCC 11 4.5 Hàm checkNGAY 12 4.6 Hàm themMoiHH 13 4.7 Hàm nhapHang 13 4.8 Hàm THONGKESOTONCUACACMATHANG 15 4.9 TONGTIENTRACHO1NCC 15 4.10 Hàm tinhsoluongnhapcuamotmahang 15 4.11 Hàm readFileHH 16 4.12 Hàm ReadFileNhap 17 4.13 Hàm ReadFileNhapChiTiet 18 4.14 Hàm saveFileHH 19 4.15 Hàm saveFileNhap 19 4.16 Hàm saveFileNhapChiTiet 19 4.17 Hàm menu 19 4.18 Hàm main 19 Kết chạy chương trình 21 5.1 Menu chương trình 21 5.2 Chức thoat chuong trinh 21 5.3 Chức Them hàng hóa 22 5.4 Chức thêm lần nhập hàng 23 5.5 Chức Thống kê số tồn mặt hàng 23 5.6 Chức Tổng tiền chi cho nhà cung cấp 24 5.7 Chức Tính số lượng nhập mã hàng 25 5.8 Chức hiển thị 25 5.9 File source code file txt 27 Tính kế thừa 27 Tính trừu tượng 28 Tính đóng gói 28 Tính đa hình 29 Class HangHoa 1.1 Thuộc tính MAHANG: chuỗi có độ dài 10 kí tự TEN: tên hàng hóa SOLG: số lượng hàng hóa có độ dài DONGIABAN: đơn giá bán có độ dài kí tự TRANGTHAI: trạng thái có giá trị sau: = 0: Mặt hàng ngừng kinh doanh = 1: Hàng kinh doanh = 2: Hàng tạm ngừng bán (vì tạm hết) 1.2 Các phương thức: 1.2.1 Hàm khởi tạo Đây constructor khởi tạo mặc định 1.2.2 Hàm xuất HH Hàm xuất thông tin cho hàng hóa dạng bảng Setw(10): đặt độ rộng 10 1.2.3 Hàm khởi tạo có tham số Hàm khởi tạo có tham số mã hàng hóa, tên hàng hóa, số lượng, đơn giá, trạng thái 1.2.4 Các hàm getter thuộc tính Các hàm trả thơng tin thuộc tính 1.2.5 Các hàm setter thuộc tính Các hàm đặt giá trị cho thuộc tính class NhapHang 2.1 Thuộc tính string MADONNHAP; Mã đơn nhập có độ dài 10 kí tự string MANCC; // mã nhà cung cấp có độ dài 10 kí tự string NGAYNHAP; // ngày nhập dạng yyyymmdd int TONGTIEN; // tổng tiền 2.2 Phương thức 2.2.1 Hàm khởi tạo có tham số 2.2.2 Hàm khởi tạo khơng có tham số 2.2.3 Hàm ngày nhập Hàm trả định dạng dd/mm/yyyy từ chuỗi có định dạng yyyyMMdd Ví dụ chuỗi vào: 20220103 hàm trả 03/01/2022 2.2.4 Hàm xuat Hàm tiến hành hiển thị NhapHang dòng 2.2.5 Các hàm setter 2.2.6 Các hàm getter Class NhapChiTiet Được kế thừa từ class NhapHang bao gồm thuộc tính hàm phương thức sau: 3.1 Các thuộc tính MÃ HÀNG: mã hàng hóa có độ dài 10 kí tự SOLGNHAP: Số lượng nhập có kí tự DONGIANHAP: Đơn giá nhập THANHTIEN: thành tiền = Số lượng nhập x đơn giá nhập 3.2 Các phương thức 3.2.1 Hàm khởi tạo không tham số 3.2.2 Hàm hủy 3.2.3 Hàm khởi tạo có tham số 3.2.4 Hàm xuất nhapchitiet Hàm xuất thơng tin dạng dịng 3.2.5 Các hàm getter 3.2.6 Các hàm setter Hàm main 4.1 Hàm checkMAHANG - Đầu vào danh sách hàng hóa ds, số lượng hàng hóa n mã hàng hóa cần kiểm tra - Đầu kiểu true false: + Nếu mã hàng khơng phải 10 kí tự trả vê false + Nếu mã hàng có danh sách cách so sánh mã hàng cần tìm với mã hàng danh sách trả false + Nếu thỏa mãn điều kiện trả true 10 - Đầu vào danh sách chi tiết nhập, số lượng chi tiết nhập - Trong hàm tiến hành nhập vào mã hàng sau dựa vào chi tiết nhập tiến hàng kiểm tra đếm số lượng mã hàng nhập vào sau tiến hành thơng báo hình tổng số lượng mã hàng nhập 4.11 Hàm readFileHH - Hàm đọc file hh.txt 16 File hh.txt có định dạng yêu cầu Sau đọc thơng tin dịng hàng hóa lưu trữ vào danh sách hàng hóa, đồng thời biến n gán cho số lượng hàng hóa 4.12 Hàm ReadFileNhap Hàm đọc file nhap.txt 17 File nhap.txt có định dạng Sau đọc từ file thông tin nhaphang lưu vào danh sach nhaphang 4.13 Hàm ReadFileNhapChiTiet Hàm tiến hành đọc file Nhapchitiet.txt có định dạng Sau đọc xong lưu trữ danh sách nhapchitiet 18 4.14 Hàm saveFileHH Hàm lưu danh sách hàng hóa file Hh.txt theo định dạng hàng hóa lưu dịng 4.15 Hàm saveFileNhap Hàm lưu danh sách NhapHang file Nhap.txt 4.16 Hàm saveFileNhapChiTiet Hàm lưu danh sách NhapChiTiet file Nhapchitiet.txt theo định dạng 4.17 Hàm menu Hàm hiển thị thông tin cho người dùng lựa chọn từ 0->6 4.18 Hàm main 19 20 Kết chạy chương trình 5.1 Menu chương trình 5.2 Chức thoat chuong trinh 21 Khi người dùng nhân có thơng báo “Ban chon thoat” tiến hành chương trình 5.3 Chức Them hàng hóa Nhập vào mã hàng tồn danh sách thơng báo mã hàng đa tồn bắt người dùng nhập 22 Khi nhập thành cơng thơng báo thêm hàng hóa thành cơng 5.4 Chức thêm lần nhập hàng Khi người dùng nhập mã đơn nhập có danh sách khơng điều kiện thơng báo bắt người dùng nhập lại: Sau nhập thành công có thơng báo nhập thành cơng thơng tin cập nhật lưu lại 5.5 Chức Thống kê số tồn mặt hàng Khi nhấn chọn từ menu 23 Chương trình hiển thị bảng thông tin số lượng tồn mặt hàng cho người dùng 5.6 Chức Tổng tiền chi cho nhà cung cấp 24 5.7 Chức Tính số lượng nhập mã hàng 5.8 Chức hiển thị Hiển thị danh sách hàng hóa 25 Hiển thị danh sách nhập 26 Hiển thị danh sách nhập chi tiêt 5.9 File source code file txt Tính kế thừa Trong tổ chức thành Class Class HangHoa, Class NhapHang Class NhapChiTiet Class NhapChiTiet kế thừa từ class NhapHang 27 Tính trừu tượng Trừu tượng hóa liệu (Data abstraction) liên quan tới việc cung cấp thơng tin cần thiết tới bên ngồi ẩn chi tiết sở chúng, ví dụ: để biểu diễn thơng tin cần thiết chương trình mà khơng hiển thị chi tiết chúng Trong project trừu tượng đối tượng thành lớp liệu hàng hóa có thơng tin mã hàng hóa, tên hàng hóa, số lượng, đơn giá bán, trạng thái… Tính đóng gói Trong lớp HangHoa tính đóng gói thể qua thuộc tính MAHANG, SOLG, DONGIABAN, TRANGTHAI, TEN phương thức getter, setter Bạn truy cập đến private data gọi đến private methods class từ bên class Có thể nói tính đóng gói (Encapsulation) chế che giấu liệu (Data Hiding) chúng lớp (class) che giấu (ở dạng private) số liệu, hàm phương thức để đảm bảo liệu truy cập sử dụng mục đích, cách thơng qua hàm phương thức dạng public mà class cung cấp Đó lý bạn khơng thể truy cập đến thuộc tính private gọi đến phương thức private class từ bên ngồi class 28 Tính đa hình Đa hình (polymorphism) nghĩa có nhiều hình thái khác Tiêu biểu là, đa hình xuất có cấu trúc cấp bậc lớp chúng liên quan với tính kế thừa Trong lớp NhapHang Có định nghĩa hàm Xuat() Lớp NhapChiTiet kế thừa từ lớp nhập hàng định nghĩa lại hàm Xuat sau: Hay class HangHoa có phương thức khởi tạo có tham số khơng có tham số dạng đa hình: 29 30 ... lần nhập hàng bao gồm thêm đơn nhập hàng chi tiết đơn nhập, trình thêm update số lượng hàng hóa file hh.txt hàng hóa nhập chi tiết đơn nhập Chú ý: đơn nhập có nhiều chi tiết chi tiết mã đơn nhập. .. yyyymmdd hay khơng 12 4.6 Hàm themMoiHH Hàm nhập hàng hóa vào danh sách + Nhập vào mã hàng kiểm tra nhập mã hàng + Nhập vào tên hàng + Nhập vào Đơn giá bán + Nhập vào trạng thái + Thêm vào cuối danh... tiết nhập, số lượng chi tiết nhập - Trong hàm tiến hành nhập vào mã hàng sau dựa vào chi tiết nhập tiến hàng kiểm tra đếm số lượng mã hàng nhập vào sau tiến hành thơng báo hình tổng số lượng mã hàng