lOMoARcPSD| 46342985
TRƯỜNG
ĐẠI
HỌC
THƯƠNG
MẠI
HỆ
THỐNG
THÔNG
TIN
KINH
TẾ
TMĐT
NHÓM
1
XÂY
DỰNG
CHƯƠNG
TRÌNH
QUẢN
NHÂN SỰ CỦA
SIÊU THỊ ĐIỆN MÁY
THẾ
GIỚI
DI
ĐỘNG
Học phần: Lập trình Python
Giảng
viên
hướng
dẫn:
Đinh
Thị
lOMoARcPSD| 46342985
2
MỤC LỤC
MỤC LỤC ............................................................................................................. 2
BẢNG PHÂN CÔNG NHIỆM VỤ ........................................................................ 3
PHẦN 1: LỜI MỞ ĐẦU ........................................................................................ 4
PHẦN 2: ĐẶT BÀI TOÁN .................................................................................... 5
PHẦN 3: PHÂN TÍCH BÀI TOÁN BẰNG SƠ ĐỒ KHỐI ..................................... 6
3.1. Sơ đồ khối tổng quát ........................................................................... 6
3.2. Sơ đồ khối thêm nhân viên ................................................................. 7
3.3. Sơ đồ khối xóa nhân viên ................................................................... 8
3.4. Sơ đồ khối cập nhật thông tin nhân viên.............................................. 9
3.5. Sơ đồ khối tìm kiếm thông tin nhân viên ........................................... 11
PHẦN 4: CÀI ĐẶT CHƯƠNG TRÌNH ............................................................... 12
4.1. Phần code ......................................................................................... 12
4.2. Mô tả chi tiết cấu trúc chương trình .................................................. 15
4.3. Kết quả chạy chương trình ................................................................ 15
PHẦN 5: KẾT LUẬN .......................................................................................... 20
5.1. Đánh giá ........................................................................................... 20
5.2. Kiến nghị, giải pháp ......................................................................... 20
PHẦN 1: LỜI MỞ ĐẦU
Trong thời đại ngày nay, siêu thị điện máy Thế giới di động chiếm một vị trí rất đặc biệt
bởi với sự phát triển không ngừng và sự thay đổi của nền kinh tế, siêu thị này không chỉ là
một nơi để mua sắm các sản phẩm điện tử, còn đóng vai trò to lớn trong việc định hình
cách người tiêu dùng ơng tác với công nghệ dịch vụ. Thế giới di động hàng
trăm hoặc thậm chí hàng nghìn cửa hàng trên khắp Việt Nam, quản lý nhân sự một quy
lOMoARcPSD| 46342985
3
lớn như vậy đòi hỏi một hệ thống chặt chẽ để theo dõi quản thông tin của hàng
nghìn nhân viên. Bởi vậy, việc xây dựng hệ thống quản lý nhân sự đóng vai trò cực kỳ quan
trọng ở các siêu thị điện máy Thế giới di động. Hệ thống này không chỉ giúp quản lý nhân
sự một cách hiệu qumà còn tạo ra nền tảng cần thiết để tối ưu hóa hoạt động kinh doanh
và nâng cao trải nghiệm của khách hàng.
Bối cảnh nghiên cứu xuất phát từ nhận thức về sự phức tạp đa dạng của lực lượng lao
động trong siêu thị, bao gồm cả số ợng lớn nhân viên với nhiều vị trí chức vụ khác
nhau cũng như nhu cầu ngày càng tăng của khách hàng về dịch vụ chất lượng cao, đặc
biệt trong ngành bán lẻ điện máy, làm tăng áp lực yêu cầu về chất lượng nhân sự
trải nghiệm mua sắm. Việc xây dựng một hệ thống quản lý nhân sự chất lượng cao sẽ giúp
tạo điều kiện thuận lợi cho việc quản lý thông tin cá nhân và chính sách nhân sự, đồng thời
luôn đồng bộ với các thay đổi về nhân sự chính sách trong công ty, chắc chắn rằng thông
tin luôn được cập nhật mới nhất và chính xác nhất, từ đó đảm bảo tuân thủ các quy định
mang lại sự minh bạch cho cả nhân viên và quản lý. Với sự cạnh tranh khốc liệt của ngành
bán lẻ, đặc biệt là trong lĩnh vực điện máy thì Siêu thị điện máy Thế giới di động cần phải
cung cấp nhân viên kỹ năng tốt dịch vụ chất lượng để góp phần tạo ra trải nghiệm
mua sắm tốt hơn cho khách hàng. Chính vậy, việc nghiên cứu và phát triển hệ thống
quản lý nhân sự trở thành mục tiêu quan trọng của hệ thống bán lẻ này để có thể tạo ra một
môi trường linh hoạt năng động, giúp cải thiện sự linh hoạt thích ứng trước sự biến
đổi liên tục của môi trường kinh doanh. Nhóm chúng tôi với đề bài “Xây dựng chương
trình quản nhân sự của Siêu thị điện máy Thế giới di động” mong muốn có thể đóng góp
một phần cho công việc quản trong ngành bán lẻ điện tử ngày càng phát triển hoàn
thiện hơn.
PHẦN 2: ĐẶT BÀI TOÁN
Nhóm chúng tôi sẽ giải quyết một số yêu cầu sau:
1. Phân tích bài toán và trình bày quy trình các thao tác dưới dạng là sơ đồ khối.
lOMoARcPSD| 46342985
4
2. Viết chương trình chính bao gồm các menu lựa chọn thực hiện các yêu cầu sau:
a, Thêm nhân viên
b, Xóa bỏ nhân viên
c, Cập nhật thông tin nhân viên d,
Tìm kiếm thông tin nhân viên
3. Chương trình được tổ chức dưới dạng là các hàm và các module.
Bài toán đặt ra: Làm thế nào để thêm, xóa, cập nhật, tìm kiếm thông tin nhân viên trên
hệ thống quản lý nhân sự của Siêu thị điện máy Thế giới di động?
lOMoARcPSD| 46342985
PHẦN 3: PHÂN TÍCH BÀI TOÁN BẰNG SƠ ĐỒ KHỐI
lOMoARcPSD| 46342985
Sơ đồ khối
7
3.1. Sơ đồ khối tổng quát
lOMoARcPSD| 46342985
Sơ đồ khối
3.2. thêm nhân viên
- Khi hệ thống hiển thị menu, nhấn 1 để chọn chức năng thêm nhân viên
- Sau đó nhập các thông tin cần thêm của nhân viên (nhân viên, tên, ngày sinh, sđt,
email, chức vụ)
- Hệ thống sẽ tự động thêm nhân viên vào danh sách cập nhật danh sách nhân sự (nếu
muốn hiển thị danh sách nhân viên chọn 5 khi ở menu)
Bắt
đầu
Nhập thông tin
nhân
viên
cần
thêm
Kết
thúc
Quay
lại
menu
Cập
nhật
danh
sách
Thêm
nhân viên vào danh
sách
Chọn
chức
năng
thêm nhân
viên
Hiển
thị
menu
lOMoARcPSD| 46342985
Sơ đồ khối
9
- Quay trở lại menu và kết thúc quá trình thêm nhân viên
- Khi hệ thống hiển thị menu, nhấn 2 để chọn chức năng xóa nhân viên
- Nhập mã nhân viên muốn xóa
- Kiểm tra mã nhân viên muốn xóa (có tồn tại trong DSNV hay không, sai thì quay về hiển
thị menu)
- Hệ thống sẽ cập nhật lại danh sách nhân viên còn lại (nếu muốn hiển thị danh sách nhân
viên chọn 5 khi ở menu)
3.3.
xóa
nhân
viên
Bắt
đầu
Nhập
NV
cần
xóa
sai
Kiểm
tra
NV
đúng
Xóa
NV
khỏi
danh
sách
Cập
nhật
danh
sách
Kết
thúc
Không
tìm
thấy
nhân
viên
mã trên
Quay
lại
menu
Chọn
chức
năng
xóa
Hiển
thị
menu
lOMoARcPSD| 46342985
Sơ đồ khối
- Quay trở lại menu và kết thúc quá trình xóa nhân viên
3.4. cập nhật thông tin nhân viên
lOMoARcPSD| 46342985
Sơ đồ khối
11
lOMoARcPSD| 46342985
12
- Nhấn 3 trong thanh hiển thị Menu để lựa chọn chức năng cập nhật thông tin nhân viên
- Nhập mã nhân viên muốn cập nhật
- Kiểm tra xem nhân viên cần cập nhật tồn tại trong danh sách nhân viên không
(không có thì yêu cầu nhập lại)
- Chương trình sẽ hiển thị lại thông tin hiện tại của nhân viên trước khi muốn cập nhật
- Chương trình lần lượt hiển thị 6 thông tin cũ:
1. Mã nhân viên hiện tại
2. Tên hiện tại
3. Ngày sinh hiện tại
4. Số điện thoại hiện tại
5. Email hiện tại
6. Chức vụ hiện tại
- Sau đó lựa chọn thông tin muốn sửa (giữ nguyên thông tin thì nhấn Enter)
- Danh sách nhân viên mới sẽ được cập nhật và lưu lại trong hệ thống
- Chương trình sẽ hiển thị lại thông tin sau cập nhật của nhân viên
- Quay lại Menu và kết thúc quá trình cập nhật
3.5. Sơ đồ khối tìm kiếm thông tin nhân viên
lOMoARcPSD| 46342985
13
- Khi hệ thống hiển thị menu, nhấn 4 để chọn chức năng tìm kiếm thông tin nhân viên
- Nhập mã nhân viên muốn tìm kiếm
- Kiểm tra nhân viên muốn tìm kiếm (có tồn tại trong DSNV hay không, sai thì nhập
lại)
- Hiện thị thông tin nhân viên cần tìm kiếm
- Quay trở lại menu và kết thúc quá trình tìm kiếm
PHẦN 4: CÀI ĐẶT CHƯƠNG TRÌNH
Bắt
đầu
Nhập
nhân
viên
cần
tìm
kiếm
sai
Kiểm
tra
nhân
viên
đúng
Hiển
thị
thông
tin
nhân
viên
Kết
thúc
Không
tìm
thấy
nhân
viên
trên
Quay
trở
lại
menu
Chọn
chức
năng
tìm
kiếm
thông tin
Hiển
thị
menu
lOMoARcPSD| 46342985
14
4.1. Phần code
# Khởi tạo một từ điển để lưu trữ thông tin đối tượng cần quản lý danh_sach_doi_tuong
= {}
def nhap_thong_tin():
manhanvien = input("Nhập mã nhân viên: ")
ten = input("Nhập tên nhân viên: ") ngaysinh
= input("Nhập ngày sinh: ") sđt =
input("Nhập sđt: ") email = input("Nhập
email: ")
chucvu = input("Nhập chức vụ: ")
return {"manhanvien": manhanvien,"ten": ten, "ngaysinh": ngaysinh, "sđt": sđt, "email":
email, "chucvu": chucvu} def them_doi_tuong():
doi_tuong = nhap_thong_tin()
danh_sach_doi_tuong[doi_tuong["manhanvien"]] =
doi_tuong print("Thêm nhân viên thành công!")
def xoa_doi_tuong():
manhanvien_can_xoa = input("Nhập mã nhân viên cần xóa: ")
if manhanvien_can_xoa in danh_sach_doi_tuong: del
danh_sach_doi_tuong[manhanvien_can_xoa] print("Xóa nhân
viên thành công!")
else:
print("Không tìm thấy nhân viên có mã trên", manhanvien_can_xoa)
def cap_nhat_thong_tin():
lOMoARcPSD| 46342985
15
manhanvien_can_cap_nhat = input("Nhập mã nhân viên cần cập nhật: ") if
manhanvien_can_cap_nhat in danh_sach_doi_tuong:
thong_tin_cu =
danh_sach_doi_tuong[manhanvien_can_cap_nhat] print("Thông
tin hiện tại của nhân viên:") print(thong_tin_cu) thong_tin_moi =
{} print("Nhập thông tin mới:") for key, value in
thong_tin_cu.items(): newValue = input(f"{key} ({value}): ") if
newValue:
thong_tin_moi[key] = newValue
else:
thong_tin_moi[key] = value
danh_sach_doi_tuong[manhanvien_can_cap_nhat] =
thong_tin_moi print("Thông tin sau cập nhật của nhân viên:")
print(thong_tin_moi)
print("Cập nhật thông tin thành công!") else:
print("Không tìm thấy nhân viên có mã trên", manhanvien_can_cap_nhat) def
tim_kiem_doi_tuong():
manhanvien_can_tim_kiem = input("Nhập mã nhân viên cần tìm kiếm: ") if
manhanvien_can_tim_kiem in danh_sach_doi_tuong:
print("Thông tin của nhân viên:")
print(danh_sach_doi_tuong[manhanvien_can_tim_kiem])
else:
lOMoARcPSD| 46342985
16
print("Không tìm thấy nhân viên có mã trên", manhanvien_can_tim_kiem) def
hien_thi_menu():
print("1. Thêm nhân viên") print("2. Xóa
nhân viên") print("3. Cập nhật thông tin
nhân viên") print("4. Tìm kiếm thông tin
nhân viên") print("5. Hiển thị danh sách
nhân viên") print("0. Thoát")
# Chương trình chính while
True:
hien_thi_menu() lua_chon = input("Nhập
lựa chọn của bạn: ") if lua_chon == "1":
them_doi_tuong()
elif lua_chon == "2":
xoa_doi_tuong() elif
lua_chon == "3":
cap_nhat_thong_tin()
elif lua_chon == "4":
tim_kiem_doi_tuong() elif
lua_chon == "5":
print("Danh sách nhân viên:")
for ten, thong_tin in danh_sach_doi_tuong.items():
print(f"{ten}: {thong_tin}")
elif lua_chon == "0":
print("Thoát chương trình. Hẹn gặp lại!") break
lOMoARcPSD| 46342985
17
else:
print("Lựa chọn không hợp lệ. Vui lòng chọn lại.")
4.2. Mô tả chi tiết cấu trúc chương trình
* Định nghĩa hàm:
- nhap_thong_tin(): Yêu cầu người dùng nhập thông tin nhân viên trả về một từ điển
chứa thông tin đã nhập.
- them_doi_tuong(): Cho phép người dùng thêm một nhân viên vào từ điển
‘danh_sach_doi_tuong’
- xoa_doi_tuong(): Cho phép người dùng xóa một nhân viên khỏi từ điển
‘danh_sach_doi_tuong' bằng cách tìm kiếm theo mã nhân viên.
- cap_nhat_thong_tin(): Cho phép người dùng cập nhật thông tin cho một nhân viên trong
từ điển `danh_sach_doi_tuong` bằng cách tìm kiếm theo mã nhân viên.
- tim_kiem_doi_tuong(): Cho phép người ng tìm kiếm thông tin nhân viên theo mã nhân
viên và hiển thị thông tin nhân viên tương ứng.
- hien_thi_menu(): Hiển thị một menu đưa ra các lựa chọn cho người dùng.
* Cấu trúc dữ liệu:
- danh_sach_doi_tuong: Đây là một từ điển lưu trữ thông tin nhân viên dưới dạng các phần
tử. Thông tin của mỗi nhân viên được lưu trữ theo định dạng: {"manhanvien": manhanvien,
"ten": ten, "ngaysinh": ngaysinh, "sđt": sđt, "email": email, "chucvu": chucvu}.
4.3. Kết quả chạy chương trình
* Thêm nhân viên vào danh sách:
- Chương trình yêu cầu người dùng nhập lần lượt các thông tin của nhân viên
- Thông tin nhân viên được thêm vào từ điển ‘danh_sach_doi_tuong’
- Cuối cùng, hiển thị trạng thái đã thêm thành công
lOMoARcPSD| 46342985
18
* Xóa nhân viên khỏi danh sách:
- Người dùng nhập mã nhân viên của nhân viên cần xóa.
- Nếu nhân viên tồn tại trong từ điển ‘danh_sach_doi_tuong’, chương trình xóa nhân
viên đó khỏi từ điển ‘danh_sach_doi_tuong’
- Sau đó, chương trình hiển thị trạng thái đã xóa nhân viên
- Nếu không tìm thấy nhân viên với mã nhân viên nhập vào, chương trình thông báo không
tìm thấy
lOMoARcPSD| 46342985
*
19
Cập nhật thông tin nhân viên:
- Người dùng nhập mã nhân viên của nhân viên cần cập nhật thông tin.
- Nếu mã nhân viên tồn tại trong từ điển ‘danh_sach_doi_tuong’, chương trình sẽ hiển thị
các thông tin hiện có của nhân viên (mã nhân viên, tên, ngày sinh, sđt, email, chức vụ).
- Sau đó chương trình slần lượt hiển thị mỗi thông tin trên một ng, nếu người dùng
muốn cập nhật thông tin nào thì nhập mới thông tin đó, không thì nhấn Enter để đến thông
tin tiếp theo (giữ nguyên thông tin cũ)
- Chương trình cập nhật thông tin mới cho nhân viên
- Sau đó chương trình hiển thị thông tin sau cập nhật của nhân viên
- Cuối cùng, hiển thị trạng thái cập nhật thông tin thành công
- Nếu không tìm thấy nhân viên với mã nhân viên nhập vào, chương trình thông báo không
tìm thấy
lOMoARcPSD| 46342985
*
20
Tìm kiếm thông tin nhân viên:
- Chương trình yêu cầu người dùng nhập mã nhân viên để tìm kiếm.
- Nếu mã nhân viên tồn tại trong từ điển ‘danh_sach_doi_tuong’, chương trình sẽ hiển thị
thông tin của nhân viên đó.
- Nếu không tìm thấy nhân viên với mã nhân viên nhập vào, chương trình thông báo không
tìm thấy.
* Hiển thị danh sách nhân viên
- Chương trình hiển thị tất cả thông tin của các nhân viên có trong từ điển
‘danh_sach_doi_tuong’

Preview text:

lOMoAR cPSD| 46342985 TRƯỜNG ĐẠI HỌC THƯƠNG MẠI KHOA HỆ
THỐNG THÔNG TIN KINH TẾ VÀ TMĐT NHÓM 1 XÂY DỰNG TRÌNH CHƯƠNG QUẢN NHÂN SỰ CỦA
SIÊU THỊ ĐIỆN MÁY THẾ DI GIỚI ĐỘNG
Học phần: Lập trình Python Giảng
viên hướng dẫn: Đinh Thị Hà lOMoAR cPSD| 46342985 MỤC LỤC
MỤC LỤC ............................................................................................................. 2
BẢNG PHÂN CÔNG NHIỆM VỤ ........................................................................ 3
PHẦN 1: LỜI MỞ ĐẦU ........................................................................................ 4
PHẦN 2: ĐẶT BÀI TOÁN .................................................................................... 5
PHẦN 3: PHÂN TÍCH BÀI TOÁN BẰNG SƠ ĐỒ KHỐI ..................................... 6
3.1. Sơ đồ khối tổng quát ........................................................................... 6
3.2. Sơ đồ khối thêm nhân viên ................................................................. 7
3.3. Sơ đồ khối xóa nhân viên ................................................................... 8
3.4. Sơ đồ khối cập nhật thông tin nhân viên.............................................. 9
3.5. Sơ đồ khối tìm kiếm thông tin nhân viên ........................................... 11
PHẦN 4: CÀI ĐẶT CHƯƠNG TRÌNH ............................................................... 12
4.1. Phần code ......................................................................................... 12
4.2. Mô tả chi tiết cấu trúc chương trình .................................................. 15
4.3. Kết quả chạy chương trình ................................................................ 15
PHẦN 5: KẾT LUẬN .......................................................................................... 20
5.1. Đánh giá ........................................................................................... 20
5.2. Kiến nghị, giải pháp ......................................................................... 20
PHẦN 1: LỜI MỞ ĐẦU
Trong thời đại ngày nay, siêu thị điện máy Thế giới di động chiếm một vị trí rất đặc biệt
bởi với sự phát triển không ngừng và sự thay đổi của nền kinh tế, siêu thị này không chỉ là
một nơi để mua sắm các sản phẩm điện tử, mà còn đóng vai trò to lớn trong việc định hình
cách mà người tiêu dùng tương tác với công nghệ và dịch vụ. Thế giới di động có hàng
trăm hoặc thậm chí hàng nghìn cửa hàng trên khắp Việt Nam, quản lý nhân sự ở một quy 2 lOMoAR cPSD| 46342985
mô lớn như vậy đòi hỏi một hệ thống chặt chẽ để theo dõi và quản lý thông tin của hàng
nghìn nhân viên. Bởi vậy, việc xây dựng hệ thống quản lý nhân sự đóng vai trò cực kỳ quan
trọng ở các siêu thị điện máy Thế giới di động. Hệ thống này không chỉ giúp quản lý nhân
sự một cách hiệu quả mà còn tạo ra nền tảng cần thiết để tối ưu hóa hoạt động kinh doanh
và nâng cao trải nghiệm của khách hàng.
Bối cảnh nghiên cứu xuất phát từ nhận thức về sự phức tạp và đa dạng của lực lượng lao
động trong siêu thị, bao gồm cả số lượng lớn nhân viên với nhiều vị trí và chức vụ khác
nhau cũng như là nhu cầu ngày càng tăng của khách hàng về dịch vụ chất lượng cao, đặc
biệt là trong ngành bán lẻ điện máy, làm tăng áp lực và yêu cầu về chất lượng nhân sự và
trải nghiệm mua sắm. Việc xây dựng một hệ thống quản lý nhân sự chất lượng cao sẽ giúp
tạo điều kiện thuận lợi cho việc quản lý thông tin cá nhân và chính sách nhân sự, đồng thời
luôn đồng bộ với các thay đổi về nhân sự và chính sách trong công ty, chắc chắn rằng thông
tin luôn được cập nhật mới nhất và chính xác nhất, từ đó đảm bảo tuân thủ các quy định và
mang lại sự minh bạch cho cả nhân viên và quản lý. Với sự cạnh tranh khốc liệt của ngành
bán lẻ, đặc biệt là trong lĩnh vực điện máy thì Siêu thị điện máy Thế giới di động cần phải
cung cấp nhân viên có kỹ năng tốt và dịch vụ chất lượng để góp phần tạo ra trải nghiệm
mua sắm tốt hơn cho khách hàng. Chính vì vậy, việc nghiên cứu và phát triển hệ thống
quản lý nhân sự trở thành mục tiêu quan trọng của hệ thống bán lẻ này để có thể tạo ra một
môi trường linh hoạt và năng động, giúp cải thiện sự linh hoạt và thích ứng trước sự biến
đổi liên tục của môi trường kinh doanh. Nhóm chúng tôi với đề bài “Xây dựng chương
trình quản lý nhân sự của Siêu thị điện máy Thế giới di động” mong muốn có thể đóng góp
một phần cho công việc quản lý trong ngành bán lẻ điện tử ngày càng phát triển và hoàn thiện hơn.
PHẦN 2: ĐẶT BÀI TOÁN
Nhóm chúng tôi sẽ giải quyết một số yêu cầu sau:
1. Phân tích bài toán và trình bày quy trình các thao tác dưới dạng là sơ đồ khối. 3 lOMoAR cPSD| 46342985
2. Viết chương trình chính bao gồm các menu lựa chọn thực hiện các yêu cầu sau: a, Thêm nhân viên b, Xóa bỏ nhân viên
c, Cập nhật thông tin nhân viên d,
Tìm kiếm thông tin nhân viên
3. Chương trình được tổ chức dưới dạng là các hàm và các module.
Bài toán đặt ra: Làm thế nào để thêm, xóa, cập nhật, tìm kiếm thông tin nhân viên trên
hệ thống quản lý nhân sự của Siêu thị điện máy Thế giới di động? 4 lOMoAR cPSD| 46342985
PHẦN 3: PHÂN TÍCH BÀI TOÁN BẰNG SƠ ĐỒ KHỐI lOMoAR cPSD| 46342985 Sơ đồ khối
3.1. Sơ đồ khối tổng quát 7 lOMoAR cPSD| 46342985 Sơ đồ khối 3.2. thêm nhân viên Bắt đầu Hiển thị menu
Chọn chức năng thêm nhân viên Nhập thông tin nhân viên cần thêm
Thêm nhân viên vào danh sách Cập nhật danh sách Quay lại menu Kết thúc
- Khi hệ thống hiển thị menu, nhấn 1 để chọn chức năng thêm nhân viên
- Sau đó nhập các thông tin cần thêm của nhân viên (mã nhân viên, tên, ngày sinh, sđt, email, chức vụ)
- Hệ thống sẽ tự động thêm nhân viên vào danh sách và cập nhật danh sách nhân sự (nếu
muốn hiển thị danh sách nhân viên chọn 5 khi ở menu) lOMoAR cPSD| 46342985 Sơ đồ khối
- Quay trở lại menu và kết thúc quá trình thêm nhân viên 3.3.
xóa nhân viên Bắt đầu Hiển thị menu Chọn chức năng xóa Nhập mã NV cần xóa sai
Không tìm thấy nhân viên có Kiểm tra mã NV mã trên đúng Xóa NV khỏi danh sách Cập nhật danh sách Quay lại menu Kết thúc
- Khi hệ thống hiển thị menu, nhấn 2 để chọn chức năng xóa nhân viên
- Nhập mã nhân viên muốn xóa
- Kiểm tra mã nhân viên muốn xóa (có tồn tại trong DSNV hay không, sai thì quay về hiển thị menu)
- Hệ thống sẽ cập nhật lại danh sách nhân viên còn lại (nếu muốn hiển thị danh sách nhân viên chọn 5 khi ở menu) 9 lOMoAR cPSD| 46342985 Sơ đồ khối
- Quay trở lại menu và kết thúc quá trình xóa nhân viên 3.4.
cập nhật thông tin nhân viên lOMoAR cPSD| 46342985 Sơ đồ khối 11 lOMoAR cPSD| 46342985
- Nhấn 3 trong thanh hiển thị Menu để lựa chọn chức năng cập nhật thông tin nhân viên
- Nhập mã nhân viên muốn cập nhật
- Kiểm tra xem mã nhân viên cần cập nhật có tồn tại trong danh sách nhân viên không
(không có thì yêu cầu nhập lại)
- Chương trình sẽ hiển thị lại thông tin hiện tại của nhân viên trước khi muốn cập nhật
- Chương trình lần lượt hiển thị 6 thông tin cũ:
1. Mã nhân viên hiện tại 2. Tên hiện tại 3. Ngày sinh hiện tại
4. Số điện thoại hiện tại 5. Email hiện tại 6. Chức vụ hiện tại
- Sau đó lựa chọn thông tin muốn sửa (giữ nguyên thông tin thì nhấn Enter)
- Danh sách nhân viên mới sẽ được cập nhật và lưu lại trong hệ thống
- Chương trình sẽ hiển thị lại thông tin sau cập nhật của nhân viên
- Quay lại Menu và kết thúc quá trình cập nhật
3.5. Sơ đồ khối tìm kiếm thông tin nhân viên 12 lOMoAR cPSD| 46342985 Bắt đầu Hiển thị menu
Chọn chức năng tìm kiếm thông tin Không Nhập mã nhân viên
tìm thấy nhân viên có mã trên cần tìm kiếm sai Kiểm tra mã nhân viên đúng Hiển thị thông tin nhân viên Quay trở lại menu Kết thúc
- Khi hệ thống hiển thị menu, nhấn 4 để chọn chức năng tìm kiếm thông tin nhân viên
- Nhập mã nhân viên muốn tìm kiếm
- Kiểm tra mã nhân viên muốn tìm kiếm (có tồn tại mã trong DSNV hay không, sai thì nhập lại)
- Hiện thị thông tin nhân viên cần tìm kiếm
- Quay trở lại menu và kết thúc quá trình tìm kiếm
PHẦN 4: CÀI ĐẶT CHƯƠNG TRÌNH 13 lOMoAR cPSD| 46342985 4.1. Phần code
# Khởi tạo một từ điển để lưu trữ thông tin đối tượng cần quản lý danh_sach_doi_tuong = {} def nhap_thong_tin():
manhanvien = input("Nhập mã nhân viên: ")
ten = input("Nhập tên nhân viên: ") ngaysinh
= input("Nhập ngày sinh: ") sđt =
input("Nhập sđt: ") email = input("Nhập email: ")
chucvu = input("Nhập chức vụ: ")
return {"manhanvien": manhanvien,"ten": ten, "ngaysinh": ngaysinh, "sđt": sđt, "email":
email, "chucvu": chucvu} def them_doi_tuong(): doi_tuong = nhap_thong_tin()
danh_sach_doi_tuong[doi_tuong["manhanvien"]] =
doi_tuong print("Thêm nhân viên thành công!") def xoa_doi_tuong():
manhanvien_can_xoa = input("Nhập mã nhân viên cần xóa: ")
if manhanvien_can_xoa in danh_sach_doi_tuong: del
danh_sach_doi_tuong[manhanvien_can_xoa] print("Xóa nhân viên thành công!") else:
print("Không tìm thấy nhân viên có mã trên", manhanvien_can_xoa) def cap_nhat_thong_tin(): 14 lOMoAR cPSD| 46342985
manhanvien_can_cap_nhat = input("Nhập mã nhân viên cần cập nhật: ") if
manhanvien_can_cap_nhat in danh_sach_doi_tuong: thong_tin_cu =
danh_sach_doi_tuong[manhanvien_can_cap_nhat] print("Thông
tin hiện tại của nhân viên:") print(thong_tin_cu) thong_tin_moi =
{} print("Nhập thông tin mới:") for key, value in
thong_tin_cu.items(): newValue = input(f"{key} ({value}): ") if newValue: thong_tin_moi[key] = newValue else: thong_tin_moi[key] = value
danh_sach_doi_tuong[manhanvien_can_cap_nhat] =
thong_tin_moi print("Thông tin sau cập nhật của nhân viên:") print(thong_tin_moi)
print("Cập nhật thông tin thành công!") else:
print("Không tìm thấy nhân viên có mã trên", manhanvien_can_cap_nhat) def tim_kiem_doi_tuong():
manhanvien_can_tim_kiem = input("Nhập mã nhân viên cần tìm kiếm: ") if
manhanvien_can_tim_kiem in danh_sach_doi_tuong: print("Thông tin của nhân viên:")
print(danh_sach_doi_tuong[manhanvien_can_tim_kiem]) else: 15 lOMoAR cPSD| 46342985
print("Không tìm thấy nhân viên có mã trên", manhanvien_can_tim_kiem) def hien_thi_menu():
print("1. Thêm nhân viên") print("2. Xóa
nhân viên") print("3. Cập nhật thông tin
nhân viên") print("4. Tìm kiếm thông tin
nhân viên") print("5. Hiển thị danh sách
nhân viên") print("0. Thoát")
# Chương trình chính while True:
hien_thi_menu() lua_chon = input("Nhập
lựa chọn của bạn: ") if lua_chon == "1": them_doi_tuong() elif lua_chon == "2": xoa_doi_tuong() elif lua_chon == "3": cap_nhat_thong_tin() elif lua_chon == "4": tim_kiem_doi_tuong() elif lua_chon == "5":
print("Danh sách nhân viên:")
for ten, thong_tin in danh_sach_doi_tuong.items(): print(f"{ten}: {thong_tin}") elif lua_chon == "0":
print("Thoát chương trình. Hẹn gặp lại!") break 16 lOMoAR cPSD| 46342985 else:
print("Lựa chọn không hợp lệ. Vui lòng chọn lại.")
4.2. Mô tả chi tiết cấu trúc chương trình * Định nghĩa hàm:
- nhap_thong_tin(): Yêu cầu người dùng nhập thông tin nhân viên và trả về một từ điển
chứa thông tin đã nhập.
- them_doi_tuong(): Cho phép người dùng thêm một nhân viên vào từ điển ‘danh_sach_doi_tuong’
- xoa_doi_tuong(): Cho phép người dùng xóa một nhân viên khỏi từ điển
‘danh_sach_doi_tuong' bằng cách tìm kiếm theo mã nhân viên.
- cap_nhat_thong_tin(): Cho phép người dùng cập nhật thông tin cho một nhân viên trong
từ điển `danh_sach_doi_tuong` bằng cách tìm kiếm theo mã nhân viên.
- tim_kiem_doi_tuong(): Cho phép người dùng tìm kiếm thông tin nhân viên theo mã nhân
viên và hiển thị thông tin nhân viên tương ứng.
- hien_thi_menu(): Hiển thị một menu đưa ra các lựa chọn cho người dùng. * Cấu trúc dữ liệu:
- danh_sach_doi_tuong: Đây là một từ điển lưu trữ thông tin nhân viên dưới dạng các phần
tử. Thông tin của mỗi nhân viên được lưu trữ theo định dạng: {"manhanvien": manhanvien,
"ten": ten, "ngaysinh": ngaysinh, "sđt": sđt, "email": email, "chucvu": chucvu}.
4.3. Kết quả chạy chương trình
* Thêm nhân viên vào danh sách:
- Chương trình yêu cầu người dùng nhập lần lượt các thông tin của nhân viên
- Thông tin nhân viên được thêm vào từ điển ‘danh_sach_doi_tuong’
- Cuối cùng, hiển thị trạng thái đã thêm thành công 17 lOMoAR cPSD| 46342985
* Xóa nhân viên khỏi danh sách:
- Người dùng nhập mã nhân viên của nhân viên cần xóa.
- Nếu mã nhân viên tồn tại trong từ điển ‘danh_sach_doi_tuong’, chương trình xóa nhân
viên đó khỏi từ điển ‘danh_sach_doi_tuong’
- Sau đó, chương trình hiển thị trạng thái đã xóa nhân viên
- Nếu không tìm thấy nhân viên với mã nhân viên nhập vào, chương trình thông báo không tìm thấy 18 lOMoAR cPSD| 46342985 *
Cập nhật thông tin nhân viên:
- Người dùng nhập mã nhân viên của nhân viên cần cập nhật thông tin.
- Nếu mã nhân viên tồn tại trong từ điển ‘danh_sach_doi_tuong’, chương trình sẽ hiển thị
các thông tin hiện có của nhân viên (mã nhân viên, tên, ngày sinh, sđt, email, chức vụ).
- Sau đó chương trình sẽ lần lượt hiển thị mỗi thông tin trên một dòng, nếu người dùng
muốn cập nhật thông tin nào thì nhập mới thông tin đó, không thì nhấn Enter để đến thông
tin tiếp theo (giữ nguyên thông tin cũ)
- Chương trình cập nhật thông tin mới cho nhân viên
- Sau đó chương trình hiển thị thông tin sau cập nhật của nhân viên
- Cuối cùng, hiển thị trạng thái cập nhật thông tin thành công
- Nếu không tìm thấy nhân viên với mã nhân viên nhập vào, chương trình thông báo không tìm thấy 19 lOMoAR cPSD| 46342985 *
Tìm kiếm thông tin nhân viên:
- Chương trình yêu cầu người dùng nhập mã nhân viên để tìm kiếm.
- Nếu mã nhân viên tồn tại trong từ điển ‘danh_sach_doi_tuong’, chương trình sẽ hiển thị
thông tin của nhân viên đó.
- Nếu không tìm thấy nhân viên với mã nhân viên nhập vào, chương trình thông báo không tìm thấy.
* Hiển thị danh sách nhân viên
- Chương trình hiển thị tất cả thông tin của các nhân viên có trong từ điển ‘danh_sach_doi_tuong’ 20