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

lập trình nâng cao với c báo cáo bài tập lớn đề tài chương trình quản lý nhà hàng

34 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

HỌC VIỆN NGÂN HÀNGKHOA HỆ THỐNG THÔNG TIN QUẢN LÝLẬP TRÌNH NÂNG CAO VỚI CBÁO CÁO BÀI TẬP LỚNĐỀ TÀI: Chương trình quản lý nhà hàngGiảng viên hướng dẫn: Lê Văn HùngNguyễn Thế Nghĩa: 24A404

Trang 1

HỌC VIỆN NGÂN HÀNG

KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

LẬP TRÌNH NÂNG CAO VỚI CBÁO CÁO BÀI TẬP LỚNĐỀ TÀI: Chương trình quản lý nhà hàng

Giảng viên hướng dẫn: Lê Văn Hùng

Nguyễn Thế Nghĩa: 24A4042602Trương Ngọc Minh Khôi: 24A4040167Đinh Thành Nam: 24A4042599

Hà Nội-2022 Sinh viên thực hiện:

Trang 2

HỌC VIỆN NGÂN HÀNG

KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

LẬP TRÌNH NÂNG CAO VỚI CBÁO CÁO BÀI TẬP LỚNĐỀ TÀI: Chương trình quản lý nhà hàng

Giảng viên hướng dẫn: Lê Văn Hùng

Sinh viên thực hiệnTỷ lệ đóng gópChữ kí

Trang 3

LỜI NÓI ĐẦU

Bài tập lớp môn học “lập trình nâng cao với ngôn ngữ C” với đề tài “xây dựngchương trình quản lí nhà hàng” là kết của một khoá học và là sự nỗ lực cố gắng và

phối hợp của tất cả thành viên trong nhóm 14 chúng em, Nguyễn Thế Nghĩa (nhómtrưởng), Trương Ngọc Minh Khôi, Đinh Thành Nam Và bài báo cáo này là sự đánhdấu đồng thời cũng là sự lưu giữ cho những cố gắng của chúng em trong suốt thời gianqua Trong quá trình thực hiện và hoàn thành bài tập lớn này, chúng em đã nhận đượcsự hướng dẫn và giúp đỡ rất nhiệt tình của các thầy cô và các bạn trong Khoa HệThống Thông tin – Học Viện Ngân Hàng Chúng em xin gửi lời cảm ơn chân thành vàsâu sắc tới các thầy, các cô trong Khoa, những người đã tận tình giảng và truyền đạtnhững kiến thức cần thiết trong suốt hơn 1 năm học tại Học Viện Ngân Hàng để chúngem có đủ kiến thức, kinh nghiệm, cũng như sự tự tin để hoàn thành bài tập lớn này.

Đặc biệt, chúng xin cảm ơn thầy Nguyễn Văn Hùng, người đã tận tình, chỉ bảo,và hỗ trợ chúng em trong suốt quá trình thực hiện bài tập này Trong thời gian học tậpvà làm việc cùng thầy, chúng em không chỉ được học hỏi về kiến thức chuyên ngànhmà còn là về thái độ làm việc nghiêm túc, về cách thức hợp tác trong công việc đểhoàn thành công việc được hiệu quả nhất.

Mặc dù chúng em đã cố gắng hoàn thiện bài tập trong phạm vị và khả năng chophép của chúng, nhưng chắc chắn không tránh khỏi những thiếu sót Em xin kínhmong nhận được sự cảm thông cũng như sự góp ý của các thầy, các cô và các bạn.

Cuối cùng, em xin kính chúc các thầy cô mạnh khoẻ, luôn luôn là những ngườidẫn dắt các thế hệ sinh viên của Học Viện Ngân Hàng trưởng thành và trở thành mộtnhân tố quan trọng của thị trường lao động.

Em xin chân thành cảm ơn!

Trang 4

1.1.1 Công nghệ thông tin hiện nay 2

1.1.2 Bài toán quản lí của các nhà hàng hiện nay 2

1.2 Cơ cấu nhà hàng 3

1.3 Xác định bài toán 3

1.3.1 Thông tin đầu vào 3

1.3.2 Thông tin đầu ra 4

3.4 Chương trình con đóng vai trò giao diện 17

3.5 Chương trình con đóng vai trò chức năng 26

KẾT LUẬN 37

TÀI LIỆU THAM KHẢO 38

iv

Trang 5

Chương 1: MÔ TẢ BÀI TOÁN1.1 Giới thiệu

1.1.1 Công nghệ thông tin hiện nay

Công nghệ nói chung đang phát triển nhanh hơn bao giờ hết trong suốt nhữngthâ „p kỉ gần đây, chúng ta đã được chứng kiến sự ra đời của rất nhiều thành tựu khoahọc quan trọng trong nhiều lĩnh vực Một trong những lĩnh vực để lại dấu ấn lớn nhấtcũng như là có tính ứng dụng cao nhất trong thực tế đời sống của con người đó là lĩnhvực công nghệ thông tin Công nghệ thông tin dường như đã trở thành một phần củacuộc sống mỗi người, được con người khai thác sử dụng và biến nó trở thành một côngcụ lao động quan trọng, giúp công việc đạt được hiệu quả và tính chính xác cao hơn.Phân tích thiết kế hệ thống thông tin quản lí là một phần quan trọng của lĩnh vực côngnghệ thông tin, nó giúp con người có thể quản lí cơ sở dữ liệu một cách đơn giản, dễdàng và nhanh chóng hơn, giúp tiết kiệm được rất nhiều thời gian và nhân lực Chúngem thực hiện đề tài “xây dựng chương trình quản lí nhà hàng” như là một bài tập lớnkết thúc khoá học và cũng là nhằm nhằm nâng cao thêm kiến thức và tầm hiểu biết củamình về lĩnh vực này, lĩnh vực công nghệ thông tin nói chung và bộ môn lập trìnhnâng cao với C nói riêng.

1.1.2 Bài toán quản lí của các nhà hàng hiện nay

Một thực trạng vẫn còn tồn tại ở nhiều nhà hàng, quán ăn là hầu hết các nghiệpvụ quản lí và thanh toán được thực hiện thủ công, dễ gây nhầm lẫn, chậm trễ, phiềntoái cho khách.

Trong những năm gần đây các chương trình quản lí của các cửa hàng, quáncafé, nhà hàng đã trở nên dần quen thuộc hơn với các doanh nghiệp, hộ kinh doanh,…Nhưng thực tế, số ít nhà hàng đang áp dụng, sử dụng công nghệ thông tin vào quản línhân lực, quản lí hoá đơn, quản lí kho, một cách hiệu quả.

Theo thực trạng nêu trên, các nhà hàng cần áp dụng công nghệ vào việc quản lí,thanh toán hoá đơn khách hàng Việc sử dụng một phần mềm chuyên nghiệp trong cácnghiệp vụ của nhà hàng sẽ làm tang khả năng quản lí, đồng thời nhanh chóng và chínhxác trong khâu thanh toán Vì vậy, nhóm chúng em đã quyết định thực hiện bài tập lớnvới đề tài “xây dựng chương trình quản lí nhà hàng” Tuy nhiên em mong muốn thầycô giáo nhìn nhận bài tập lớn này trên mặt ý tưởng và hình ảnh, bởi với lượng kiến

Trang 6

thức hiện tại của chúng em là chưa đủ để xây dựng một chương trình hoàn chỉnh và cóthể áp dụng vào thực tế nghiệp vụ.

 Nhân viên phục vụ: Có nhiệm vụ tiếp nhận đơn hàng (gọi món) và cácyêu cầu khác của khách hàng.

 Nhân viên thu ngân: Có trách nhiệm in hoá đơn cho khách, lưu giữ hoáđơn và chỉ có quyền xem đối với các hoá đơn đã thực hiện trong ngày,tháng Từ đó lập ra các báo cáo, thống kê doanh thu theo ngày, tháng,…

1.3 Xác định bài toán1.3.1 Thông tin đầu vào

- Mật khẩu truy cập vào menu của nhân viên và quản lí- Thông tin các món ăn

- Thông tin nhân viên phục vụ- Thông tin nhân viên thu ngân

- Món ăn và số lượng món ăn khách hàng gọiviNhân viên

phục vụ

Bộ phận quảnlý

Nhân viên thungân

Trang 7

1.3.2 Thông tin đầu ra

- Thống kê doanh thu theo ngày, tháng

Trang 8

Chương 2: PHÂN TÍCH BÀI TOÁN2.1 Chức năng

Từ cơ cấu, có thể xác định những chức năng chính mà chương trình thực hiện: Chức năng cho nhân viên phục vụ

o Đăng nhập vào hệ thống.

o Tạo mật khẩu đăng nhập mới hoặc nhập mật khẩu đã có.o Mở menu và thực hiện lưu giữ thông tin gọi món của khách hàng.o Chỉnh sửa thông tin nhân viên phục vụ (chỉ dành cho nhân viên

 Chức năng cho thu ngâno Đăng nhập vào hệ thống.o Mở menu.

o Lưu hoá đơn.o Mở danh sách hoá đơn.

o Chỉnh sửa thông tin nhân viên phục vụ (chỉ dành cho nhân viênmới).

o Tra cứu nhân viên phục vụ.

o Theo dõi doanh thu theo ngày của nhà hàng. Chức năng cho quản lí

o Mở menu.

o Thêm món ăn (tên, số thứ tự, giá).o Tính doanh thu theo ngày.

viii

Trang 9

Hiển thị danh sách nhân viên phục vụ.o Sửa thông tin nhân viên phục vụ (theo CMT).o Xoá nhân viên phục vụ (theo CMT).

o Tìm kiếm nhân viên phục vụ (theo CMT hoặc theo tên).o Hiển thị danh sách nhân viên thu ngân.

o Sửa thông tin nhân viên thu ngân (theo CMT).o Xoá nhân viên thu ngân (theo CMT).

o Tìm kiếm nhân viên thu ngân (theo CMT hoặc theo tên).

2.2 Xác định các chương trình con2.2.1 Các menu giao diện chương trình

 void menumodau() : Giao diện mở đầuo Xoá màn hình

o Tạo giao diện chào hỏi

o Chạy chương trình con menuchinh() void menuchinh() : Giao diện chính

 void menunvpv() : Giao diện nhân viên phục vụ (1)

Trang 10

 void menunvtn() : Giao diện nhân viên thu ngân (1)o Xoá màn hình

o Tạo giao diện với 2 lựa chọn: đăng nhập, quay về giao diện chính.o Tạo một biến và sử dụng if else để tiếp tục nhập mật khẩu, nếuđúng thì tới menunvtn2() nếu không đúng in ra “đã nhập sai vàhãy nhập lại” sau đó quay lại đầu chương trình con menunvtn(). void menunvtn2() : Giao diện nhân viên thu ngân (2)

o Xoá màn hình

o Tạo giao diện với 5 lựa chọn: cập nhật thông tin nhân viên thungân mới, xem thực đơn, xem các hoá đơn, xem danh sách nhânviên phục vụ, thoát về giao diện chính

o Khai báo 1 biến để sử dụng cho switch case với 5 giá trị để mởtương ứng thongtinnvtn(), hienfoodlist(), doanhthutheongay(),hiennvpv(), menuchinh() Với bất kì giá trị khác với 5 giá trị trên,chạy lại từ đầu chương trình con.

 void menuquanly() : Giao diện quản lí (1)o Xoá màn hình

o Tạo giao diện với 2 lựa chọn: đăng nhập, quay về giao diện chính.

x

Trang 11

Tạo một biến và sử dụng if else để tiếp tục nhập mật khẩu, nếuđúng thì tới menuquanly2 () nếu không đúng in ra “đã nhập sai vàhãy nhập lại” sau đó quay lại đầu chương trình con menuquanly(). void menuquanly2() : Giao diện quản lí (2)

o Xoá màn hình

o Tạo giao diện với 12 lựa chọn: Hiện thực đơn, them món ăn, tínhdoanh thu theo ngày, hiển thị danh sách nhân viên phục vụ, sửathông tin nhân viên phục vụ, xoá nhân viên phục vụ, tìm kiếmnhân viên phục vụ, hiển thị danh sách nhân viên thu ngân, sửathông tin nhân viên thu ngân, xoá nhân viên thu ngân, tìm kiếmnhân viên thu ngân và quay về giao diện chính.

o Khai báo 1 biến để sử dụng cho switch case với 12 giá trị để mởtương ứng hienfoodlist() – quay về giao diện quản lí (2),themmonan() – quay về giao diện quản lí (2), doanhthutheongay()– quay về giao diện quản lí (2), hiennvpv() – quay về giao diệnquản lí (2), suathongtinnvpv(), xoanvpv(), timkiemnvpv(),hiennvtn(), suathongtinnvtp(), xoanvtn(), timkiemnvtn(),menuchinh() Với bất kì giá trị khác với 12 giá trị trên, chạy lại từđầu chương trình con.

Trang 12

Mở 1 file “passwordnvpv.bin” để đọc và lưu mật khẩu, nếu filetrống thì yêu cầu tạo mật khẩu và tới chương trình contaopasssword().

o Tạo một biến kiểu char và nhập từ bàn phím biến đó, nếu trùngkhớp mật khẩu được lấy ra từ file thì tiếp tục tới chương trình consaukhidungpassword() còn nếu không thì thông báo nhập sai vàquay lại giao diện nhân viên phục vụ (1).

 void taopassword() : Tạo mật khẩu hoặc thay đổi mật khẩu cũ.o Xoá màn hình.

o Mở 2 file “passwordnvpv.bin”, để đọc và lưu mật khẩu,“tempPassword.bin” là đóng vai trò là trung gian.

o Nếu “passwordnvpv.bin” trống thì yêu cầu nhập mật khẩu, bất kìmật khẩu nào được nhập sau đó sẽ được lưu vào file và hiển thị ramàn hình tạo mật khẩu thành công.

o Nếu “passwordnvpv.bin” không trống, thì yêu cầu nhập mật khẩucũ, nếu sai yêu cầu nhập lại và quay về giao diện nhân viên phụcvụ, còn nếu đúng thì hiển thị yêu cầu nhập mật khẩu mới và nhậptừ bàn phím mật khẩu mới

 void saukhidungpassword() : Giao diện nhân viên phục vụ (2)o Xoá màn hình.

o Tạo giao diện với 3 lựa chọn: cập nhật thông tin nhân viên phụcvụ mới, gọi món, thoát về giao diện chính.

o Khai báo 1 biến để sử dụng cho switch case với 3 giá trị để mởtương ứng thongtinnvpv(), orders() - quay về đầu chương trìnhcon, menuchinh().Với bất kì giá trị khác với 3 giá trị trên, chạy lạitừ đầu chương trình con.

 void thongtinnvpv() : Thêm thông tin nhân viên phục vụo Xoá màn hình.

xii

Trang 13

Tạo 1 file để lưu thông tin nhân viên.

o Thực hiện in ra màn hình yêu cập nhập các thông tin liên quanđến nhân viên: chứng minh thư (phải có 12 số), năm sinh(1900<x<2023), số điện thoại (phải có 10 số).

o Sau đó lưu thông tin vào file rồi quay về giao diện nhân viên phụcvụ (2).

 void orders() : Gọi móno Hiện menu đồ ăn.

o Thực hiện chọn món theo số thứ tự món.o Thực hiện chọn số lượng của món đó.o Xác nhận thông tin món ăn và số lượng.

o Xác nhận tiếp tục chọn món hoặc quay về giao diện nhân viênphục vụ (2).

o Tính tổng số tiền.

2.2.4 Nhân viên thu ngân

 Void thongtinnvtn() : Thêm thông tin nhân viên thu ngâno Xoá màn hình.

o Tạo 1 file để lưu thông tin nhân viên.

o Thực hiện in ra màn hình yêu cập nhập các thông tin liên quanđến nhân viên: chứng minh thư (phải có 12 số), năm sinh(1900<x<2023), số điện thoại (phải có 10 số).

o Sau đó lưu thông tin vào file rồi quay về giao diện nhân thu ngân(2).

 Void hienfoodlist() : Hiển thị menu đồ ăn

Trang 14

Hình 3.4.5 Code giao diện nhân viên phục vụ (1)

xxiii

Trang 15

Hình 3.4.6 Giao diện đăng nhập của nhân viên phục vụ

Trang 16

Hình 3.4.7 Code giao diện nhân viên phục vụ (2)

Hình 3.4.8 Giao diện nhân viên phục vụ (2)

xxv

Trang 17

Hình 3.4.9 Code giao diện nhân viên thu ngân (1)

Hình 3.4.10 Giao diện nhân viên thu ngân (1)

Trang 18

Hình 3.4.10 Code giao diện nhân viên thu ngân (1)

Hình 3.4.12 Giao diện nhân viên thu ngân (2)

xxvii

Trang 19

Hình 3.4.13 Code giao diện quản lí (1)

Hình 3.4.14 Giao diện quản lí (1)

Trang 20

Hình 3.4.15 Code giao diện quản lí (2)

xxix

Trang 21

Hình 3.4.12 Giao diện quản lí (2)

Trang 22

3.5 Chương trình con đóng vai trò chức năng

Hình 3.5.1 Chương trình con nhập mật khẩu của nhân viên phục vụ

xxxi

Trang 23

Hình 3.5.2 Chương trình tạo mật khẩu hoặc thay đổi mật khẩu cũ

Trang 24

Hình 3.5.3 Chương trình con thêm thông tin nhân viên phục vụ

xxxiii

Trang 25

Hình 3.5.4 Chương trình con gọi món

Trang 26

Hình 3.5.5 Chương trình con thêm thông tin nhân viên thu ngân

Hình 3.5.6 Chương trình con hiển thị thực đơn

xxxv

Trang 27

Hình 3.5.7 Chương trình con hiển thị doanh thu theo ngày

Hình 3.5.8 Chương trình con hiển thị danh sách nhân viên phục vụ

Hình 3.5.8 Chương trình con hiển thị danh sách nhân viên thu ngân

Trang 28

Hình 3.5.8 Chương trình con thêm món ăn vào menu hiện tại

xxxvii

Trang 29

Hình 3.5.10 Chương trình con xoá nhân viên phục vụ

Trang 30

Hình 3.5.11 Chương trình con xoá nhân viên thu ngân

xxxix

Trang 31

Hình 3.5.12 Chươngtrình con sửa thông tin

nhân viên thu ngân

Tương tự đối với chương trình con sửa thông tin nhân viên phục vụ

Trang 32

Hình 3.5.13 Chương trình con tìm kiếm nhân viên thu ngân

Tương tự đối với chương trình con tìm kiếm nhân viên phục vụ

xli

Trang 33

KẾT LUẬN

Để hoàn thành bài tập lớn này, chúng em đã vận dụng các kiến thức đã học vềlập trình nâng cao với ngôn ngữ C để xây dựng chương trình quản lí nhà hàng Kết quảđạt được bao gồm:

 Lý thuyết:

o Phát biểu và mô tả được nghiệp vụ bài toán.

o Phân tích thiết kế bài toán một cách đầy đủ theo đúng quy trình được họcbằng phương pháp hướng cấu trúc.

o Thiết kế được các giao diện thân thiện với người dùng. Chương trình :

o Sử dụng phần mềm dev C++ cùng các thư viện đi cùng của phần mềm.o Sử dụng ngôn ngữ C để xây dựng chương trình.

o Chương trình được cài đặt và thử nghiệm với một số dữ liệu chạy thôngsuốt và cho ra kết quả, đáp ứng được các nhu cầu đặt ra của bài toán.Kiểm soát được các lỗi ngoại lệ phát sinh do người dùng nhập vào khôngđúng Báo cáo các mẫu theo yêu cầu.

o Còn có các mặt hạn chế như chương trình chưa có tính thực tiễn cao,chưa xử lí được trọn vẹn các vấn đề nảy sinh trong quá trình xử lí, giaodiện chương trình còn rất thô sơ.

Vì thời gian có hạn và kinh nghiệm thực tế chưa có nhiều nên việc phân tíchthiết kế một bài toán về cơ bản đã thực hiện đối tượng đầy đủ, tuy nhiên chưa thể môtả đầy đủ mọi khía cạnh của vấn đề Xây dựng được hệ thống nhưng chỉ với các chứcnăng chính, cần thêm nhiều chức năng để chương trình hoạt động tốt và hoàn chỉnhhơn.

Nếu có điều kiện, sau này chúng em sẽ hoàn thiện chương trình được đầy đủhơn và dễ dàng hơn trong việc quản trị.

Trang 34

TÀI LIỆU THAM KHẢO

xliii

Ngày đăng: 24/06/2024, 17:29

Xem thêm:

w