Để quản lý kho hàng cần có các chức năng sau:- Phân tích bài toán và trình bày quy trình dưới dạng sơ đồ khối: Chúng ta cần xây dựng sơ đồ khối để mô tả các chức năng “Chương trình chính
Trang 1TRƯỜNG ĐẠI HỌC THƯƠNG MẠI KHOA HỆ THỐNG TTKT VÀ TMĐT
-
-BÀI TẬP LỚN
MÔN: LẬP TRÌNH VỚI PYTHON
Chủ đề: Xây dựng chương trình quản lý kho hàng các sản phẩm của công ty thiết bị nội thất Viglacera.
Trang 22
Trang 323D192014 Cài đặt
chương trình Tổng hợp word
Trang 4LỜI MỞ ĐẦU
Chúng ta đang trong thời kỳ công nghiệp hoá hiện đại hoá đất nước, xã hội ngày càng phát triển Các thiết bị công nghệ dần thay thế con người trong các côngviệc chân tay, nặng nhọc hay nguy hiểm
Một trong những yếu tố rất quan trọng trong cuộc cách mạng lần thứ 4 này là Big Data, cho phép con người có thể thu thập, chứa đựng được một lượng dữ liệu khổng lồ Người ta có thể thu thập được một lượng lớn thông tin bao gồm thông tin
cá nhân của từng khách hàng Điều này giúp doanh nghiệp nhận ra các xu hướng, nhu cầu, mong muốn của người tiêu dùng một cách hiệu quả, và từ đó giúp doanh nghiệp có thể tạo ra những chiến lược đúng đắn trong mỗi giai đoạn kinh doanh
Để làm được điều đó thì việc xây dựng một hệ thống quản trị thông tin hiệu quả là
vô cùng cần thiết Quản lý thông tin một cách tối ưu cho phép tổ chức đạt các mục tiêu khác nhau và những lợi ích đem lại có tác động trên nhiều phương diện Tuy nhiên với một lượng dữ liệu khổng lồ như vậy, việc lưu trữ, bảo quản và duy trì chúng là một việc không hề dễ dàng Bài tập lớn lần này là một cơ hội để chúng
em được tiếp xúc với công việc đó
Hiểu được điều này, nhóm chúng em khi nhận được đề tài “XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ KHO HÀNG” đã sử dụng những kiến thức còn hạn chế của bản thân và tìm hiểu của cả nhóm để hoàn thành đề tài một cách trọn vẹn nhất có thể, xây dung chương trình với tiêu chí: bố cục rõ ràng, mạch lạc và dễ hiểu nhất
Do trình độ bản thân còn nhiều hạn chế và bước đầu áp dụng lý thuyết vào thực hành nên bài báo cáo này không tránh khỏi những thiếu sót, hạn chế trong quátrình viết bài Nhóm em rất mong nhận được sự đóng góp quý báu của thầy các bạn
để bài viết của nhóm được hoàn thiện hơn
4
Trang 5MỤC LỤC
CHƯƠNG I: ĐẶT BÀI TOÁN
1.1 Mô tả bài toán
Bài toán yêu cầu xây dựng chương trình quản lý kho hàng các sản phẩm của công
ty thiết bị nội thất Viglacera Để quản lý kho hàng cần có các chức năng sau:
- Phân tích bài toán và trình bày quy trình dưới dạng sơ đồ khối: Chúng ta cần xây dựng sơ đồ khối để mô tả các chức năng “Chương trình chính” ,“Thêm sản phẩm”,
“Xóa sản phẩm” và “Cập nhật thông tin sản phẩm”
- Quá trình viết chương trình chính gồm 4 chức năng:
+ Thêm sản phẩm
+ Xóa bỏ sản phẩm
+ Cập nhật thông tin sản phẩm
+ Tìm kiếm thông tin sản phẩm
- Viết chương trình dưới dạng các hàm và module
+ Chúng ta có thể sử dụng hàm và module khi viết chương trình
+ Mỗi một chức năng có thể dùng một hàm riêng biệt
+ Có thể tạo các module để lưu trữ dữ liệu và các hàm hỗ trợ khác như nhập/xuất
dữ liệu, hiển thị bảng chọn và tìm kiếm sản phẩm
5
Trang 7Tin học
14
ĐỀ SỐ 9 tiếng anh thpt
15
Trang 8Tin học
17
Trang 91.2.4.Cập nhật sản phẩm
Hình 4: Sơ đồ khối thực hiện chức năng cập nhật sản phẩm
8
Trang 101.2.5.Tìm kiếm thông tin sản phẩm
Hình 5: Sơ đồ khối thực hiện chức năng tìm kiếm sản phẩm
9
Trang 111.2.6 Sơ đồ khối thực hiện của chức năng
Hình 6: Sơ đồ của hệ thống quản lí sản phẩm
1.3 Quy trình thực hiện của các chức năng
- Quy trình thực hiện chức năng thêm sản phẩm:
+ Yêu cầu người dùng nhập mã sản phẩm thông qua lệnh input
+ Sử dụng một vòng lặp for để duyệt qua trong product (danh sách sản phẩm).+ Trong vòng lặp, kiểm tra nếu giá trị đầu nào đó trong dsSanpham bằng với mã sản phẩm (masp) vừa nhập
+ Nếu có một sản phẩm trong danh sách có mã trùng khớp, yêu cầu người dùng nhập lại mã sản phẩm
+ Vòng lặp … sẽ tiếp tục chạy cho đến khi mã sản phẩm nhập vào không trùng khớp với bất kỳ sản phẩm nào trong danh sách
+ Khi mã sản phẩm nhập vào không trùng khớp với bất kỳ sản phẩm nào trong danh sách, quá trình kiểm tra hợp lệ của mã sản phẩm kết thúc
10
Trang 12+ Yêu cầu người dùng nhập tên sản phẩm (tensanpham) thông qua lệnh input.+ Yêu cầu người dùng nhập giá sản phẩm (loaisanpham) thông qua lệnh input.+ Yêu cầu người dùng nhập 'Nhap so luong san pham co the ban’ thông qua lệnh input.
+ Yêu cầu người dùng nhập 'Nhap so luong san pham ton kho’ thông qua lệnh input
+ Yêu cầu người dùng nhập 'Nhap gia ban san pham’ thông qua lệnh input + Yêu cầu người dùng nhập 'Nhap ngay nhap san pham’ thông qua lệnh input + In thông báo "đã thêm thành công"
- Quy trình thực hiện chức năng xóa sản phẩm:
+ Yêu cầu người dùng nhập mã sản phẩm cần xóa thng qua lệnh input
+ Sử dụng một vòng lặp for để duyệt qua các cặp key-value trong products (danh sách sản phẩm)
+ Trong vòng lặp, kiểm tra nếu giá trị đầu tiên products[i][0] của một cặp value nào đó trong danh sách sản phẩm bằng với mã sản phẩm (masp)
key-+ Nếu có một sản phẩm trong danh sách có mã trùng khớp, xóa sản phẩm đó bằng cách sử dụng lệnh del
+ In thông báo "Xóa sản phẩm thành công"
+ Sử dụng lệnh return để kết thúc vòng lặp sau khi đã xóa sản phẩm thành công.+ Nếu vòng lặp for kết thúc mà không tìm thấy sản phẩm nào có mã trùng khớp, inthông báo "'San pham khong ton tai trong danh sach, vui long thao tac lai!!!"
- Quy trình thực hiện chức năng cập nhật sản phẩm:
+ Yêu cầu người dùng nhập mã sản phẩm muốn cập nhật
+ Sử dụng một vòng lặp for để duyệt qua trong dsSanpham (danh sách sản phẩm)+ Trong vòng lặp, kiểm tra nếu giá trị đầu tiên products[i][0] của một cặp key-
Trang 13+Cập nhật tên sản phẩm trong danh sách sản phẩm (products[i][1] = ten_moi).
In thông báo " Da cap nhat so luong San Pham ton kho thanh cong!!!" hoặc sai thì
in thong báo ‘Thao tac khong hop le!!!’
+ Nếu người dùng nhập một lựa chọn không hợp lệ, in thông báo 'Khong tim thay san pham, vui long thao tac lai!!'
- Quy trình thực hiện chức năng tìm kiếm thông tin sản phẩm:
+ Nhận phản hồi từ người dùng
+ Dựa vào lựa chọn:
Nếu là 'a': In ra toàn bộ danh sách sản phẩm
Nếu là 'b': Yêu cầu nhập Mã sản phẩm và tìm kiếm trong danh sách sản phẩm, sau đó in ra thông tin sản phẩm tương ứng
Nếu là 'c': Yêu cầu nhập Tên sản phẩm và tìm kiếm trong danh sách sản phẩm, sau đó in ra thông tin sản phẩm tương ứng
Nếu là 'd': Yêu cầu nhập Loại sản phẩm và tìm kiếm trong danh sách sản phẩm, sau đó in ra thông tin sản phẩm tương ứng
- Quy trình thực hiện của hàm main:
+ Tạo ra vòng lặp vô hạn while true
+ In tiêu đề của bảng dữ liệu: VIGLACERA
+ Kết quả in ra sẽ là một dòng chứa các tiêu đề của các cột trong bảng dữ liệu+ Bắt đầu vòng lặp for để duyệt cặp khóa – giá trị trong Danh sách Sanpham+ In ra dữ liệu cho bảng
+ In ra hệ thống tìm kiếm sản phẩm gồm 5 quy trình
+ Người dùng sẽ phải nhập lua_chon_sp
12
Trang 14+ Nếu lua_chon_yeu_cau bằng một thì thực hiện quy trình thêm sản phẩm+ Nếu lua_chon_yeu_cau bằng hai thì thực hiện quy trình xóa sản phẩm
+ Nếu lua_chon_yeu_cau bằng ba thì thực hiện quy trình cập nhật sản phẩm+ Nếu lua_chon_yeu_cau bằng bốn thì thực hiện quy trình tìm kiếm sản phẩm+ Nếu lua_chon_yeu_cau bằng năm thì thông báo “Thoat chuong trinh”
+ Nếu lua_chon_yeu_cau khác với các điều kiện đã đề cập ở trên thì sẽ thông báo
“mời lựa chọn lại”
CHƯƠNG II: CÀI ĐẶT CHƯƠNG TRÌNH
Chương trình được viết dưới dạng các hàm con thực hiện các chức năng, sau đó dùng menu để gọi các hàm đó với các tùy chọn tương ứng
3.1 Hàm thêm sản phẩm
#[ma, ten, loai, co the ban, ton kho, ngay nhap]
def add (products):
a = input ( 'Nhap ma san pham: ' )
product.append( input ( 'Nhap ten san pham: ' ))
product.append( input ( 'Nhap loai san pham: ' ))
product.append( int input ( ( 'Nhap so luong san pham co the ban: ' )))
product.append( int input ( ( 'Nhap so luong san pham ton kho: ' )))
product.append( input ( 'Nhap ngay nhap san pham: ' ))
product.append( int input ( ( 'Nhap gia ban san pham: ' )))
products.append(product)
print ( 'Da them thanh cong' , products[- 1 1 ][ ], 'vao danh sach!!!\n' )
3.2 Hàm xóa sản phẩm
def delete (products):
a = input ( 'Nhap Ma san pham can xoa: ' )
for in range len i ( (products)):
#[ma, ten, loai, co the ban, ton kho, ngay nhap]
def update (products):
13
Trang 15for in range len i ( (products)):
if (products[i][ 0 ] == a):
print ( 'Nhap lua chon cua ban' )
print ( 'a Sua Ten' )
print ( 'b Sua So luong co the ban' )
print ( 'c Sua So Luong ton kho' )
res = input ().lower()
Trang 163.4 Hàm tìm kiếm thông tin sản phẩm
def xuatds (arr):
print (idd, masp, name, type, b, t, g, x[- ], 1 sep = '| ' )
def get_inf (products):
print ( 'Nhap lua chon cua ban' )
print ( 'a In tat ca ra man hinh' )
print ( 'b In danh sach san pham theo Ma' )
print ( 'c In danh sach san pham theo Ten' )
print ( 'd In danh sach san pham theo Loai' )
ans = input ().lower()
Trang 17print ( "b Xoa bo san pham" )
print ( "c Cap nhat thong tin san pham" )
print ( "d Tim kiem thong tin san pham" )
print ( "e Thoat chuong trinh" )
print ( 'Thao tac khong hop le, xin hay nhap lai!!' )
CHƯƠNG III: KẾT QUẢ
3.1 Hiển thị trong menu
16
Trang 18Khi bắt đầu chạy chương trình, hệ thống đưa ra các lựa chọn và yêu cầu ngườidùng chọn một trong các lựa chọn đã có sẵn để thực hiện các nhiệm vụ tương ứng.
Nếu lựa chọn một lựa chọn không nằm trong các lựa chọn ban đầu hệ thống sẽ yêu cầungười dùng nhập lại lựa chọn của mình và chạy lại chương trình từ đầu
3.2 Quy trình thêm sản phẩm
Đầu tiên là quy trình thêm sản phẩm vào kho hàng Để thực hiện quy trình thêmsản phẩm người dùng sẽ nhập lựa chọn là “a” và hệ thống sẽ yêu cầu người dùngnhập mã sản phẩm với điều kiện không được trùng với các mã sản phẩm có sẵntrong danh sách thông tin sản phẩm Nếu người dùng nhập trùng, hệ thống sẽ báongười dùng nhập mã sản phẩm bị trùng và yêu cầu nhập mã sản phẩm mới Sau khingười dùng nhập mã sản phẩm hợp lệ, hệ thống sẽ yêu cầu nhập tên sản phẩm vàgiá sản phẩm Khi đã nhập xong hệ thống sẽ thông báo “Thêm sản phẩm thànhcông” và in ra danh sách thông tin sản phẩm mới và tiếp tục đưa ra các lựa chọn đểngười dùng tiếp tục sử dụng các chức năng của hệ thống
Trang 19Khi nhập mã sản phẩm không tồn tại trong cột “Ma SP” của danh sách thông tinsản phẩm, hệ thống sẽ thông báo không tồn tại sản phẩm, in ra danh sách sản phẩm
và yêu cầu người dùng lựa chọn lại các chức năng
- TH2: Sản phẩm muốn xóa nằm trong danh sách sản phẩm của kho hàng
Khi người dùng đã nhập mã sản phẩm tồn tại trong danh sách thông tin sản phẩm,
hệ thống sẽ thông báo xóa sản phẩm thành công
3.4 Quy trình cập nhật sản phẩm
Để thực hiện chức năng cập nhật sản phẩm, người dùng nhập “c” và sau đó hệthống sẽ yêu cầu người dùng nhập mã sản phẩm
18
Trang 20- TH1: Sản phẩm muốn cập nhật không nằm trong danh sách sản phẩm của khohàng.
Khi người dùng nhập mã sản phẩm không nằm trong danh sách mã sản phẩm củakho hàng, hệ thống sẽ thông báo không tồn tại sản phẩm, in ra danh sách thông tinsản phẩm và yêu cầu người dùng lựa chọn lại các chức năng
- TH2: Sản phẩm muốn cập nhật nằm trong danh sách sản phẩm của kho hàng
Khi đã nhập đúng mã sản phẩm nằm trong danh sách sản phẩm của kho hàng, hệthống sẽ đưa ra lựa chọn các thông tin bạn muốn cập nhật Bao gồm mã sản phẩm, tên và giá sản phẩm và yêu cầu bạn lựa chọn và điền vào ô “Nhập thông tin cầncập nhật:”
TH2.1: Nếu bạn muốn cập nhật tên sản phẩm:
Để thực hiện chức năng cập nhật tên sản phẩm, bạn điền “a” sau đó hệ thống sẽyêu cầu bạn nhập tên sản phẩm mới Sau khi bạn nhập xong, hệ thống sẽ thôngbáo cập nhật tên sản phẩm thành công Sau đó liệt kê lại các lựa chọn cập nhật đểbạn tiếp tục cập nhật hoặc rời đi
TH2.2: Nếu bạn muốn cập nhật số lượng có thể bán :
Để thực hiện chức năng cập nhật tên sản phẩm, bạn điền “b” vàosau đó hệ thống
sẽ yêu cầu bạn nhập số lượng mới Sau khi bạn nhập xong, hệ thống sẽ thông báocập nhật thành công Sau đó liệt kê lại các lựa chọn cập nhật để bạn tiếp tục cậpnhật hoặc rời đi
TH2.3: Nếu bạn muốn cập nhật số lượng có thể tồn kho :
Để thực hiện chức năng cập nhật tên sản phẩm, bạn điền “c” vào sau đó hệ thống
sẽ yêu cầu bạn nhập số lượng mới Sau khi bạn nhập xong, hệ thống sẽ thông báocập nhật thành công Sau đó liệt kê lại các lựa chọn cập nhật để bạn tiếp tục cậpnhật hoặc rời đi
19
Trang 213.5 Quy trình tìm kiếm sản phẩm
Để thực hiện chức năng tìm kiếm sản phẩm, người dùng sẽ điền “d” vào mục Sau
đó hệ thống sẽ yêu cầu người dùng nhập từ khóa tìm kiếm để tiếp tục sử dụng chứcnăng
3.6 Quy trình rời khỏi
Để kết thúc chương trình, nhập lựa chọn “e” Hệ thống sẽ in ra dòng “Đã thoátchương trình.” Và kết thúc chương trình
20
Trang 22KẾT LUẬN
Trong đề tài này, nhóm đã sử dụng ngôn ngữ python để tạo được chương trình giúp công ty thiết bị nội thất Viglacera quản lý sản phẩm dễ dàng hơn Chương trình này đã được phát triển nhằm tối ưu hóa việc quản lý, theo dõi và điềuphối, nhằm đảm bảo hiệu quả và thành công trong hoạt động kinh doanh
Ngôn ngữ Python đã được chọn làm công cụ chính cho việc xây dựng chương trình quản lý dự án vì tính đơn giản, dễ đọc và dễ hiểu của nó Python cungcấp một môi trường phát triển linh hoạt và mạnh mẽ, giúp nhóm nhanh chóng triểnkhai các chức năng và tính năng quan trọng trong chương trình
Chương trình cho phép người dùng thêm, xóa, cập nhật và tìm kiếm sản phẩm trong danh sách sản phẩm Dữ liệu sản phẩm được lưu dưới dạng danh sách và từ điển giúp quản lý thông tin dễ dàng hơn Chương trình rất dễ hiểu và có cấu trúc rõràng, giúp người đọc dễ dàng tìm hiểu và sử dụng hơn Sử dụng vòng lặp vô hạn đểcho phép người dùng thao tác các chức năng liên tục cho đến khi người dùng chọn thoát Bên cạnh những ưu điểm mà chương trình đem lại còn có nhược điểm cần khắc phục
Như bất kỳ chương trình nào, chương trình quản lý sản phẩm của công ty thiết bị nội thất Viglacera cũng có thể được cải thiện và mở rộng trong tương lai Nhóm khuyến nghị việc tiếp tục nghiên cứu và phát triển, bổ sung các tính năng mới và cải thiện hiệu suất của chương trình để đáp ứng những thách thức và yêu cầu ngày càng cao trong quản lý dự án
Tổng kết lại, chương trình quản lý sản phẩm của công ty thiết bị nội thất Viglacera
đã đạt được mục tiêu ban đầu của nó, đó là cung cấp một công cụ hiệu quả và tiện ích để quản lý sản phẩm của công ty Sự kết hợp giữa chương trình và ngôn ngữ Python đã tạo ra một giải pháp mạnh mẽ và linh hoạt cho việc quản lý dự án này
21
Trang 23Tin học
11
800 CÂU HỎI TRẮC NGHIỆM TIN HỌC…
Tin học
14
Trang 245
ĐỀ SỐ 13 tiếng anh thpt
Tin học
14
ĐỀ SỐ 9 tiếng anh thpt
Tin học
15