1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo QUẢN lý NHẬP HÀNG

30 6 0

Đ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

Thông tin cơ bản

Tiêu đề Quản Lý Nhập Hàng
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Lập Trình Hướng Đối Tượng
Thể loại báo cáo cuối kỳ
Định dạng
Số trang 30
Dung lượng 2,34 MB
File đính kèm Quanlynhaphang.zip (487 KB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 1. Class HangHoa (4)
    • 1.1 Thuộc tính (4)
    • 1.2. Các phương thức (4)
      • 1.2.1. Hàm khởi tạo (4)
      • 1.2.2. Hàm xuất HH (4)
      • 1.2.3. Hàm khởi tạo có tham số (4)
      • 1.2.4. Các hàm getter các thuộc tính (4)
      • 1.2.5. Các hàm setter các thuộc tính (5)
  • 2. class NhapHang (6)
    • 2.1. Thuộc tính (6)
    • 2.2. Phương thức (6)
      • 2.2.1. Hàm khởi tạo có tham số (6)
      • 2.2.2. Hàm khởi tạo không có tham số (6)
      • 2.2.3. Hàm ngày nhập (6)
      • 2.2.4. Hàm xuat (6)
      • 2.2.5. Các hàm setter (7)
      • 2.2.6. Các hàm getter (7)
  • 3. Class NhapChiTiet (8)
    • 3.1. Các thuộc tính (8)
    • 3.2. Các phương thức (8)
      • 3.2.1. Hàm khởi tạo không tham số (8)
      • 3.2.2. Hàm hủy (8)
      • 3.2.3. Hàm khởi tạo có tham số (8)
      • 3.2.4. Hàm xuất 1 nhapchitiet (9)
      • 3.2.5. Các hàm getter (9)
      • 3.2.6. Các hàm setter (9)
  • 4. 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)
  • 5. Kết quả khi chạy chương trình (21)
    • 5.1. Menu chính của chương trình (21)
    • 5.2. Chức năng thoat chuong trinh (21)
    • 5.3. Chức năng 1. Them mới hàng hóa (22)
    • 5.4. Chức năng 2 thêm mới lần nhập hàng (23)
    • 5.5. Chức năng 3 Thống kê số tồn của các mặt hàng (23)
    • 5.6. Chức năng 4 Tổng tiền đã chi cho 1 nhà cung cấp (24)
    • 5.7. Chức năng 5 Tính số lượng nhập của một mã hàng (25)
    • 5.8. Chức năng hiển thị (25)
    • 5.9. File source code và các file txt (27)
  • 6. Tính kế thừa (27)
  • 7. Tính trừu tượng (28)
  • 8. Tính đóng gói (28)
  • 9. Tính đa hình (29)

Nội dung

Â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ộ.

Class HangHoa

Thuộc tính

MAHANG: là chuỗi có độ dài 10 kí tự

SOLG: số lượng hàng hóa có độ dài 3

DONGIABAN: đơn giá bán có độ dài 5 kí tự

TRANGTHAI: trạng thái có một trong các giá trị sau:

= 0: Mặt hàng đã ngừng kinh doanh

= 2: Hàng tạm ngừng bán (vì tạm hết)

Các phương thức

1.2.1 Hàm khởi tạo Đây là constructor khởi tạo mặc định

Hàm này xuất thông tin cho 1 hàng hóa dưới dạng bảng

1.2.3 Hàm khởi tạo có tham số

Hàm khởi tạo có các tham số là 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 các thuộc tính

Các hàm này trả về thông tin các thuộc tính

1.2.5 Các hàm setter các thuộc tính

Các hàm này sẽ đặt các giá trị cho các thuộc tính

class NhapHang

Thuộc tính

Mã đơn nhập (MADONNHAP) có độ dài 10 ký tự, giúp xác định duy nhất mỗi đơn hàng trong hệ thống Mã nhà cung cấp (MANCC) cũng có độ dài 10 ký tự, thể hiện rõ nguồn cung cấp hàng hóa Ngày nhập (NGAYNHAP) định dạng yyyymmdd, cho phép theo dõi thời gian thực hiện đơn hàng chính xác Tổng tiền (TONGTIEN) là số nguyên thể hiện tổng số tiền của đơn hàng, giúp quản lý chi phí hiệu quả.

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ố

Hàm này trả về định dạng dd/mm/yyyy từ chuỗi có định dạng yyyyMMdd

Ví dụ chuỗi vào: 20220103 hàm này sẽ trả về là 03/01/2022

Hàm này sẽ tiến hành hiển thị 1 NhapHang trên 1 dòng

Class NhapChiTiet

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ó 3 kí tự

THANHTIEN: thành tiền = Số lượng nhập x đơn giá nhập

Các phương thức

3.2.1 Hàm khởi tạo không tham số

3.2.3 Hàm khởi tạo có tham số

Hàm này sẽ xuất ra thông tin dưới dạng dòng

Hàm main

Hàm checkMAHANG

- Đầu vào là danh sách hàng hóa ds, số lượng hàng hóa n và mã hàng hóa cần kiểm tra

- Đầu ra là kiểu true hoặc false:

+ Nếu mã hàng không phải 10 kí tự thì trả vê false

+ Nếu mã hàng đã có trong danh sách bằng cách so sánh tuần tự mã hàng cần tìm với các mã hàng trong danh sách thì trả về false

+ Nếu thỏa mãn điều kiện thì trả về true

Hàm checkMAHANG_1

Hàm này trả về true nếu tìm thấy mã hàng trong danh sách ngược lại trả về false

Hàm checkMADONNHAP

Hàm này đầu vào là danh sách NhapHang, số lượng trong danh sách nhập hàng n và mã cần so sánh

- Đầu ra là kiểu true hoặc false:

+ Nếu mã đơn nhập không phải 10 kí tự thì trả vê false

Nếu mã đơn nhập đã tồn tại trong danh sách, hệ thống sẽ so sánh tuần tự mã hàng cần tìm với các mã đơn nhập đã có để kiểm tra trùng lặp Trong trường hợp phát hiện mã đã có trong danh sách, hàm sẽ trả về kết quả là false để tránh ghi nhận các đơn nhập trùng lặp, đảm bảo tính chính xác của dữ liệu Điều này giúp duy trì tính nhất quán và tránh lỗi trong quá trình xử lý đơn hàng.

+ Nếu thỏa mãn điều kiện thì trả về true.

Hàm checkMANCC

Hàm này check mã nhà cung cấp có đủ 10 kí tự không, nếu đủ 10 kí tự thì trả về true ngược lại trả về false

Hàm checkNGAY

Hàm này check một ngày có đủ 8 kí tự theo định dạng yyyymmdd hay không

Hàm themMoiHH

Hàm này sẽ nhập mới một hàng hóa vào danh sách

+ Nhập vào mã hàng và kiểm tra nhập mã hàng

+ Nhập vào Đơn giá bán

+ Thêm vào cuối danh sách đồng thời tăng số lượng n lên 1 đơn vị

Hàm nhapHang

Hàm này thực hiện việc thêm mới lần nhập hàng, bao gồm tạo đơn nhập hàng và chi tiết các mặt hàng trong đơn Đồng thời, quá trình thêm dữ liệu cũng tự động cập nhật số lượng hàng hóa trong file hh.txt, phản ánh chính xác số lượng được nhập cho từng mặt hàng trong chi tiết đơn nhập.

Trong một đơn nhập hàng, có thể có nhiều chi tiết khác nhau, tất cả đều cùng chung mã đơn nhập Các chi tiết này bao gồm các mặt hàng đa dạng, phản ánh quá trình nhập hàng phong phú và đa dạng Tổng tiền của mã đơn nhập sẽ được tính dựa trên tổng các chi tiết nhập này, phản ánh chính xác giá trị thực tế của đơn hàng Việc hiểu rõ cấu trúc này giúp quản lý kho hàng và thanh toán hiệu quả hơn, tối ưu hóa quy trình nhập hàng trong doanh nghiệp.

Hàm THONGKESOTONCUACACMATHANG

Hàm này giúp thống kê số lượng tồn kho của các mặt hàng trong hệ thống Thông tin về số lượng tồn (SOLG) sẽ được lấy từ file hàng hóa và hiển thị dưới dạng bảng rõ ràng, dễ theo dõi Việc này giúp quản lý tồn kho chính xác, hỗ trợ các quyết định kinh doanh hiệu quả.

TONGTIENTRACHO1NCC

Dựa vào thông tin trong file nhap.txt, chương trình sẽ xác định các mã nhà cung cấp khác nhau và tính tổng số tiền cho từng nhà cung cấp đó Các kết quả sẽ được trình bày dưới dạng bảng, thể hiện rõ tổng tiền của từng nhà cung cấp riêng biệt Quá trình này giúp tổng hợp rõ ràng các khoản chi phí theo từng nhà cung cấp, hỗ trợ quản lý tài chính hiệu quả hơn.

Hàm tinhsoluongnhapcuamotmahang

- Đầu vào là danh sách chi tiết nhập, số lượng chi tiết nhập

Chức năng này cho phép người dùng nhập vào mã hàng để kiểm tra và đếm số lượng của mã hàng đó trong hệ thống Sau khi nhập mã hàng, hệ thống sẽ xác nhận và đếm tổng số lượng sản phẩm đã được nhập Cuối cùng, chương trình sẽ hiển thị ra màn hình tổng số lượng mã hàng đã nhập, giúp người dùng dễ dàng theo dõi tồn kho một cách chính xác và hiệu quả.

Hàm readFileHH

- Hàm này sẽ đọc file hh.txt

File hh.txt có định dạng như yêu cầu là

Sau khi đọc từng dòng thông tin, mỗi dòng sẽ tương ứng với một hàng hóa và được lưu trữ vào danh sách hàng hóa Đồng thời, biến n cũng được gán bằng số lượng của từng mặt hàng, giúp quản lý kho hiệu quả hơn Việc xử lý dữ liệu theo cách này đảm bảo danh sách hàng hóa luôn cập nhật chính xác về số lượng và loại hàng tồn kho.

Hàm ReadFileNhap

Hàm này đọc file nhap.txt

File nhap.txt có định dạng

Sau khi đọc từ file các thông tin về nhaphang sẽ được lưu vào trong danh sach nhaphang

Hàm ReadFileNhapChiTiet

Hàm này sẽ tiến hành đọc file Nhapchitiet.txt có định dạng

Sau khi đọc xong sẽ được lưu trữ trong danh sách nhapchitiet

Hàm saveFileHH

Hàm này lưu danh sách hàng hóa ra file Hh.txt theo định dạng mỗi hàng hóa lưu trên 1 dòng

Hàm saveFileNhap

Hàm này lưu danh sách NhapHang ra file Nhap.txt

Hàm saveFileNhapChiTiet

Hàm này lưu danh sách NhapChiTiet ra file Nhapchitiet.txt theo định dạng

Hàm menu

Hàm này hiển thị các thông tin cho người dùng lựa chọn từ 0->6

Hàm main

Kết quả khi chạy chương trình

Chức năng thoat chuong trinh

Khi người dùng nhân thoát thì sẽ có thông báo là “Ban chon thoat” và tiến hành thoát chương trình.

Chức năng 1 Them mới hàng hóa

Nhập vào mã hàng đã tồn tại trong danh sách thì sẽ thông báo là 1 mã hàng đa tồn tại và bắt người dùng nhập mới

Khi nhập thành công thì sẽ thông báo là thêm mới hàng hóa thành công

Chức năng 2 thêm mới lần nhập hàng

Khi người dùng nhập một mã đơn nhập đã có trong danh sách hoặc không đúng điều kiện thì thông báo và bắt người dùng nhập lại:

Sau khi nhập thành công sẽ có thông báo là nhập thành công thông tin sẽ được cập nhật và lưu lại.

Chức năng 3 Thống kê số tồn của các mặt hàng

Khi nhấn chọn 3 từ menu chính

Chương trình sẽ hiển thị bảng thông tin về số lượng tồn của các mặt hàng cho người dùng.

Chức năng 4 Tổng tiền đã chi cho 1 nhà cung cấp

Chức năng hiển thị

Hiển thị danh sách hàng hóa

26 Hiển thị danh sách nhập

Hiển thị danh sách nhập chi tiêt

Tính kế thừa

Trong bài đã tổ chức thành 3 Class là Class HangHoa, Class NhapHang và Class NhapChiTiet

Class NhapChiTiet được kế thừa từ class NhapHang

Tính trừu tượng

Trừu tượng hóa dữ liệu (Data abstraction) là quá trình chỉ cung cấp thông tin cần thiết ra bên ngoài và ẩn đi các chi tiết phức tạp của cơ sở dữ liệu hoặc hệ thống Điều này giúp biểu diễn thông tin một cách tối giản, rõ ràng trong chương trình mà không tiết lộ các chi tiết kỹ thuật hay cấu trúc bên trong Data abstraction nâng cao khả năng quản lý dữ liệu, cho phép phát triển phần mềm dễ dàng hơn và tối ưu hóa hiệu suất hệ thống.

Trong dự án, các đối tượng được trừu tượng thành ba lớp dữ liệu chính, trong đó hàng hóa gồm các thông tin quan trọng như mã hàng hóa, tên hàng hóa, số lượng, đơn giá bán và trạng thái Điều này giúp xây dựng hệ thống quản lý hàng hóa một cách rõ ràng và hiệu quả Việc phân chia dữ liệu thành các lớp dễ dàng cho việc duy trì và mở rộng chức năng của dự án Áp dụng trừu tượng hóa dữ liệu giúp tối ưu hóa quy trình xử lý và tăng tính tổ chức của hệ thống quản lý hàng hóa.

Tính đóng gói

Trong lớp HangHoa, tính đóng gói thể hiện qua các thuộc tính như MAHANG, SOLG, DONGIABAN, TRANGTHAI, và TEN, cùng với các phương thức getter, setter để kiểm soát truy cập dữ liệu Các thuộc tính này được khai báo là private nhằm đảm bảo tính bảo mật và tránh bị truy cập trực tiếp từ bên ngoài lớp Người dùng chỉ có thể truy cập hoặc chỉnh sửa dữ liệu thông qua các phương thức công khai, giúp duy trì tính toàn vẹn của dữ liệu trong quá trình lập trình hướng đối tượng Điều này giúp nâng cao khả năng bảo trì và mở rộng của mã nguồn trong phát triển phần mềm.

Tính đóng gói (Encapsulation) là cơ chế che giấu dữ liệu (Data Hiding) trong lập trình hướng đối tượng, khi lớp (class) che giấu các dữ liệu, hàm và phương thức ở dạng private để bảo vệ thông tin Nhờ đó, dữ liệu chỉ có thể được truy cập và sử dụng đúng mục đích qua các hàm và phương thức public mà class cung cấp, giúp đảm bảo tính toàn vẹn và an toàn của dữ liệu Vì vậy, từ bên ngoài lớp, bạn không thể truy cập trực tiếp vào các thuộc tính hoặc gọi các phương thức private của class.

Tính đa hình

Đa hình (polymorphism) đề cập đến khả năng tồn tại nhiều hình thái khác nhau trong lập trình hướng đối tượng Đây là hiện tượng xuất hiện khi một cấu trúc cấp bậc của các lớp liên kết với nhau thông qua tính kế thừa, giúp tăng tính linh hoạt và mở rộng trong quá trình phát triển phần mềm.

Trong lớp NhapHang Có định nghĩa hàm Xuat()

Lớp NhapChiTiet được kế thừa từ lớp nhập hàng và định nghĩa lại hàm Xuat này như sau:

Hay trong class HangHoa có các phương thức khởi tạo có tham số và không có tham số đây cũng là một dạng của đa hình:

Ngày đăng: 18/12/2022, 21:45

TỪ KHÓA LIÊN QUAN

w