Vì vậy ứng dụng tm học vào công tác quản lý thì các công việc như cập nhật thông tin khách hàng, xem các thông tin về dịch vụ của khách sạn, thông tin về só phòng, và nhân viên, hóa đơn
Trang 1- "E7 Ổ [s" ""
BÀI THẢO LUẬN HOC PHAN: LAP TRINH HƯỚNG ĐÓI TƯỢNG
Tên đề tài: Xây dựng hệ thông quản lý khách sạn
Giảng viên hướng dẫn: Củ Nguyên Giáp Nhóm thực hiện : Nhóm 2
Trang 2MỤC LỤC
0900092100115 1
LÍ DO CHON DE TÀI 222222 H0 HH Hưng 2 MỤC ĐÍCH CỦA ĐẼ TÀI 52222c 22222 tt t2 Hung 2 FlO oávy9 ác 3
1 Mục tiêu hệ thống cần đạt đưỢC à c cccnnnnnnn n HH HH HH HH HH HH He te 6
2 DAQQQ§€ nh HH HH HH HH HH HH HH HH HH hà 6 3 Các chức năng quản lý (hÔNng [ÍH ào ác nh nh nh Hà nh kg TH Kha thà 6
4 Ngôn ngữ lập trình và còi đẶI TS nh nh HH HH KH ko 8
3 Hệ quản trị CƠ SỞ dữ HIỆM Ăn nh HH HH HH Kho 8
II CÁC SƠ ĐÔ HH HH Hưng 10
TH GIẢI THÍCH HƯỚNG LÀM 2 222 t2 HH 12
v7 nh e ea<a ăốă dd 12
PM vn cố cố ốốốốằốằốằốằốằằốằằẦằeằee ă 13 S9 ốan neeằe <đd 14
Trang 38.4 Hiển thị darh Sache c.ceccccccccccscsssscscsveveveesesesesvevesesesesvsvesesesssvavaveresesestevssseseseseves 28
:l 8020900 31 8.7 Các chức năng chính khác - c1 2122111121115 11511158115 1111111121111 2 ke 35 LAN NG: na 6⁄43 39
10 Maim 2H TH HT TH TH HT HH TH HH TH giàu 42
IV KẾTQUẢ à HH re 44
J0 3 ng nh cưa 44 1.1 Quản lý nhân viÊn L2 1 22112111 122111 11111115115 111181 1211151 kg 44 1.2 Quán lý khách hàng 2 2 1 2211211112112 11 1151251111011 5 1kg 46
1.4 Quán lý dịch VỤ 0 220 1221112112 1125115 211152151 11k kg 47
1.5 Quán lý doanh thu C222 1211122112111 1115115111151 15111 11c ky ka 49
2 Chức năng HhÂH VIÊH Q1 KH kg 49
V KẾT LUẬN VA HUONG PHAT TRIEN ecsssssssesssssssensessssnnneeecsssneeeeecsnmseennes 53
1 UU GEM cesses cece cccess cesses nesenesssunessieesiistsnistinnsteuiteisintinetsnesaisetntens 53
2 Nhược điểm nh hư hung 53
3 Hướng phát triển và hoàn thiỆH St nh HH nung 33
Trang 4LỜI MỞ ĐẦU
Lập trình hướng đối tượng (hay gọi tắt là OOP — Object oriented programing) là kỹ thuật lập trình hỗ trợ công nghệ hướng đối tượng OOP được xem là giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mèn băng cách cho phép lập trình viên tập trung vào các đối tượng phần mềm ở bậc cao hơn Lập trình hướng đối tượng là phương thức tiếp cận bài toán theo hướng xem hệ thống là hoạt động của các đối tượng như trong thực tế, sau đó mô tả chúng và cho chúng tương tác với nhau đề tạo nên
hệ thông Với sự tiếp cận như vậy giúp lập trình hướng đối tượng tư duy gần với thực tế hơn (lập trình có cấu trúc tư duy thiên về toán hơn) và độ phức tạp cũng chia ra cho việc
mô tả các đối tượng và hành vi của nó nên độ phức tạp của bài toán cũng được chia nhỏ
ra
Ngày nay, nhu cầu di lại, công tác đài ngày, nhu cầu du lịch của con người cũng như những nhu cầu về nơi an chỗn ở, nghỉ ngơi thư giãn và yếu cầu về chất lương của các dịch vụ ngày nay càng tăng Bắt kịp những đòi hỏi đó các khách sạn ngày cảng nâng cao chất lượng quản lý và phục vụ đề đạt được mục tiệu kinh doanh cũng như đề có thê tồn tại
ở môi trường kinh doanh Khách sạn đây cạnh tranh Đề giúp cho việc quản lý khách sạn
dễ đàng và tiện lợi hơn, với đề tài: Xây đựng hệ thống quản lý khách sạn, nhóm 2 chúng
em đã sử dụng ngôn ngữ C++ đề tiến hành thiết kế giao diện hệ thống và sử dụng My SQL đề lưu trữ đữ liệu, tạo nên một hệ thông quản lý khách sạn hoàn chỉnh đáp ứng được yêu cầu trong phần mô tả Đề thực hiện và hoàn thành hệ thống này, nhóm chúng em đã nhận được sự giúp đỡ, dạy bảo của thầy Cù Nguyên Giáp — giảng viên khoa Hệ thống
thông tin Kinh tế và Thương mại điện tử trường Đại học Thương Mại
Nhóm 2 chúng em xin chân thành gửi lời cảm ơn đến thầy giáo đã giúp đỡ, chỉ bảo
để nhóm có thể hoàn thiện được bài báo cáo
Trang 5lượt khách nghỉ, thời lượng nghỉ, gặp vấn đề trong việc quản lý nhân viên
Hiện nay, trên thị tường có rất nhiều phần mềm quản lý khách sạn với rất nhiều tính năng với những mức giá khác nhau Tuy nhiên để lựa chọn được hệ thống quản lý tối ứu
nhất, phù hợp nhất với bài toán quản lý của khách sạn mính lại là điều làm cho nhà quản
Đề tài được nguyên cứu với các mục đích sau:
- - Quản lý khách sạn là một khối nghiệp vụ hết sức phức tạp, đòi hỏi một hệ thong quản lý chặt chẽ, thuận tiện và có hiệu quả cao
- Dé tai vừa có giá trị trong thực tế vừa có giá trị trong việc học tập của những sinh viên như chúng em
- - Sau khi thực hiện đề tài, sinh viên vừa nắm được vững hơn kiến thức môn học vừa
bồi dưỡng cho bản thân thêm kiến thức về nghiệp vụ quản lý trong các doanh nghiệp, công ty góp phần nâng cao trình độ chuyên môn của mỗi cá nhân
Trang 6I MÔ TẢ HỆ THÓNG
Hiện nay, trong khi đời sống con người nâng cao, nhu cầu du lịch ngày càng phát trién thì nhu cầu tìm những khách sạn có phòng nghỉ chất lượng và địch vụ tốt để nghỉ ngơi thư giãn ngày càng phố biến Bằng cách truy cập vào các website tìm kiếm thông tin phòng tại khách sạn giúp khách hàng tìm được phòng theo ý thích của mình
Hiện nay, trong khách sạn, các cán bộ làm công tác quản lý thông tin của khách sạn phải quán lý một lượng lớn thông tin về cán bộ công nhân viên, tình trạng phòng Vì vậy ứng dụng tm học vào công tác quản lý thì các công việc như cập nhật thông tin khách hàng, xem các thông tin về dịch vụ của khách sạn, thông tin về só phòng, và nhân viên, hóa đơn thanh toán, tất cả đều làm thủ công nên các cán bộ quản lý phải mắt rất nhiều thời gian mới tổng hợp được những thông tin cần thiết
Hệ thống quản quản lý khách sạn là một hệ thống cung cấp cho người sử dụng, nhà quản lý những thông tin chính xác về các phòng tại khách sạn đang có và cách thức đặt phòng qua mạng Các thông tin đều được cập nhật thường xuyên và nhanh chóng, vì vậy rút ngăn được khoảng cách giữa khách hàng và các khách sạn cung cấp dịch vụ, đưa thông tin về các phòng tại các khách sạn một cách nhanh chóng đến tay khách hàng
Hệ thống quản lý khách sạn gồm những hoạt động chính sau: Quản lý nhân viên; quản lý khách hàng: quản lý phòng: quán ly trang thiết bị phòng; quản lý đặt phòng, nhận phòng; quản lý dịch vụ đi kèm; quản lý trả phòng, thanh toán
Đầu tiên, hệ thống tích hợp cả chức năng quản lý nhân viên làm việc trong khách sạn, giúp quản lý thông tin của từng nhân viên trong khách sạn bao gồm: họ tên, số điện thoại, địa chỉ, chức vụ, ngày vào làm, số CMND Mỗi nhân viên sẽ có một mã nhân
viên duy nhất, một người quản lý trực tiếp, thuộc một bộ phận nhất định Cuỗi tháng, mỗi
nhân viên sẽ nhận được mức lương tương ứng với bộ phận, chức vụ, ngày công, của minh
Hệ thống chỉ cho phép người quản lý nhân sự thực hiện những chức năng sau: Cập nhật thông tin của nhân viên khi có thay đôi về họ tên, bộ phận,ngày làm, số CMND Việc cập nhật này được lây thông tin dựa theo thông tin do nhân viên cung cấp Tra cứu thông
Trang 7tin nhân viên khi cần thiết và hủy bỏ thông tin cá nhân của nhân viên khi nhân viên đó
nghỉ việc, nghỉ hưu
Hệ thống cho phép người chủ của khách sạn thực hiện chức năng sau: Lập danh sách
thông tin cá nhân của tất cả các nhân viên trong khách sạn, danh sách gồm : mã nhân viên,
họ tên, ngày sinh, địa chỉ, giới tính, bộ phận mà nhân viên đó trực thuộc Danh sách này giúp người quản lý dễ dàng hơn trong quản lý, kiểm soát được toàn bộ nhân viên của mình trong quá trình làm việc
Với chức năng quản lý khách hàng, mỗi khi có khách hàng đặt phòng thì bộ phận
lễ tân ghi lại thông tin khách hàng Thông tin bao gồm: Họ tên, giới tính, địa chỉ, điện thoại Fax(nêu có), Email(nếu có), số CMND_ Passport(hoặc các văn bằng khác có hình),
quốc tịch Sau đó dữ liệu về khách hàng được chuyển cho bộ phận quản lí lưu trữ Bộ
phận
quản lí sẽ quán lí thông tin của các khách hàng như họ tên, ngày sinh, địa chỉ
Mục đích: để có thê có những chương trình chăm sóc khách hàng phù hợp và xác định được những khách hàng tiềm năng, ngoài ra với những khách hàng là khách hàng thường xuyên của khách sạn có thể có những chương trình khuyên mãi dành riêng cho các khách hàng này
Chức năng quản lý phòng của hệ thống giúp người nhân viên tiếp tân của khách sạn theo dõi tinh trang của tất cả các phòng nhằm mục đích tông hợp, nhập dữ liệu , lưu trữ và rồi tự động thống kê xem ngày đó khách sạn có bao nhiêu phòng hoạt động, giá của từng loại phòng, loại phòng đó là phòng gì (phòng đơn hay đôi), vị trí sơ đỗ của các
phòng đề từ đó bồ trí cho khách hàng đến đăng kí
Hệ thống cho phép người quản lý thực hiện các chức năng quản lý phòng: tra cứu phòng ( giá phòng, loại phòng, vị trí, hoạt động ); thêm phòng vào hệ thống khi có phòng mới bắt đầu đưa vào sử dụng, cập nhật lại hoạt động hoặc giá của phòng khi có sự thay đối: xóa phòng khi phòng đó không còn được đưa vào hoạt động Nhân viên lễ tân thao tác trên chức năng tra cứu phòng cũng như tình trạng đề đặt phòng cho khách
Hệ thống cũng sẽ có chức năng quản lý trang thiết bị từng phòng để có thẻ dễ dàng kiểm kê tài sản Hàng ngày, bộ phân quán lí sẽ cập nhật thông tin về tình trạng thiết
Trang 8bị của từng phòng để tránh việc thất thoát hoặc có những biện pháp xử lí như bảo trì, sửa chữa kịp thời Ngoài ra nêu hư hại do khách hàng bộ phận tài chính sẽ ghi nhận đề lập phiều thu vào ngày khách hàng trả phòng
Hệ thống chỉ cho phép người quản lý thực hiện các chức năng của quán lý tiện nghĩ: tra cứu chỉ tiết trang thiết bị từng phòng( số lượng, chất lượng, tình trạng ); thêm số lượng trang thiết bị của từng phòng khi có sự thêm mới từ phía khách sạn; cập nhật khi có sự thay đôi, sửa chữa, ; xóa khi tiện nghĩ bị thay đôi, hư hỏng, mat cap,
Khi khach hang dén thué phòng hoặc gọi điện đặt phòng, nhân viên lễ tân sẽ đề
nghị khách hàng cung cấp thông tin cá nhân và loại phòng mà khách hàng muốn chọn Sau đó gửi yêu cầu của khách hàng đến bộ phận quản lí Đây là hoạt động nằm trong chức nang Quan ly dat phòng, nhận phòng
Bộ phận quản lí phải kiểm tra tình trạng các loại phòng mà khách hàng cần thuê để xem còn bao nhiêu phòng trống, phòng nào đã được đặt trước, phòng nào đang có khách lưu trú hay phòng nào đang được sửa chữa, Sau đó, bộ phận quản lí cung cấp thông tin về loại phòng đó cho nhân viên lễ tân Và cuối cùng, nhân viên lễ tân cung cấp thông tin cho khách hàng và tiễn hành bồ trí phòng theo yêu cầu của khách hàng
Hệ thống còn có chức năng Quản lý dịch vụ đi kèm với việc quản lý các dịch vụ và tiện ích của khách sạn để phục vụ khách hàng Khách thuê phòng thường sử dụng các dịch vụ của khách sạn như: dịch vụ ăn uống, giặt ủi, karaoke, điện thoại, thuê xe Mỗi dịch vụ phát sinh phải được ghi nhận hàng ngày để bộ phận tài chính lập phiêu thu vào ngày khách hàng trả phòng
Hệ thống cho phép người quản lý thực hiện các chức năng quản lý dịch vụ: tra cứu các
dịch vụ sẵn có, thêm khi khách sạn có sự bô sung các dịch vụ mới, cập nhật lại các dịch
vụ nếu có sự thay đổi, xóa dịch vụ khi khách sạn huỷ bỏ dịch vụ đó Nhân viên lễ tân thao
tác trên chức năng tra cứu dịch vụ đề giúp khách hàng biết rõ về các dịch vụ của khách hàng, gợi ý cho khách hàng lựa chọn dịch vụ phù hợp, làm đễ dàng trong việc khách hàng lựa chọn dịch vụ và cuối cùng khi khách hàng chọn được dịch vụ phù hợp nhân viên sẽ thao tác trên chức năng này đề đặt dịch vụ cho khách hàng
Trang 9Cuối cùng, chức năng quản lý trả phòng, thanh toán cho phép thực hiện việc quản lý trả phòng và thanh toán đối với khách thuê Vào ngày khách hàng trả phòng nhân viên lễ tân sẽ đưa hóa đơn cho bộ phận quán lý đã lập để khách hàng thanh toán (hóa đơn gồm tiền phòng, các dịch vụ phát sinh-nếu có, các chương trình khuyên mãi-nếu có ) Sau đó, bộ phận quản lí số tiền thu để lập báo cáo doanh thu hàng ngày, đồng thời bộ phận quản lí sẽ đưa mã phòng đó (phòng khách hàng vừa trả) vào danh mục phòng trồng
Và tiếp tục, qui trình đặt phòng nhận phòng tiếp tục diễn ra
1 Mục tiêu hệ thông cần đạt được
- _ Cho phép nhân viên quản lý và theo đối chính xác thông tin khách hàng, phòng ốc
1 cách chính xác, tra cứu, thống kê kết quả
- _ Đảm bảo cơ sở đữ liệu bảo mật và có độ tin cậy cao: đữ liệu khách sạn, phòng ốc,
dịch vụ phát sinh đi kèm
- _ Dựa vào kiến thức đã học và thực tế, đề tài quản lý khách sạn:
+ Tin hoc hoa công tác quản lý nhân viên, khách hàng, buông phòng
+ Tin học hóa quy trình đăng kí, đặt phòng, trả phòng, nhận phòng
+ Tin học hóa việc cung cấp dịch vụ cũng như thanh toán cho khách hàng + Tổng hợp, phân tích các báo cáo một cạch tự động cho nhà quản lý khách sạn Như vậy, các nhiệm vụ trong quản lý khách sạn sẽ thuận tiện, dễ đàng hơn, các nhiêm vụ cũng có tính năng riêng biệt, độc lập nhưng vẫn có sự liên kết, thống nhất với nhau
2 Database
- Thong tin, tinh trang hién tai cua khach san
- _ Yêu cầu của khách hàng khi đặt hàng
3 Các chức năng quản ly thong tin
3.1 Quản lý nhân viên
- _ Nhân viên: Họ tên, số điện thoại, địa chỉ, chức vụ, ngày vào làm, số CMND
- Người quản lý nhân sự:
+ Cập nhật
Trang 10+ Hủy bỏ
- - Người chủ khách san:
+ Lập danh sách thông tin cá nhân của nhân viên: mã nhân viên, ngày sinh, địa
chỉ, sô điện thoại, giới tính, bộ phận làm việc
3.2 Quản lý khách hàng
- Lé tan: ghi lại thông tin khách hàng: họ tên, ngày sinh, số điện thoại, email, CMND,
hộ chiêu, quốc tịch => chuyên cho bộ phận quản lý lưu trữ
Cập nhật hoạt động hoặc gia
Xóa phòng khi k còn hoạt động (khách trả phòng)
3.4 Quản lý trang thiết bị từng phòng
- _ Cập nhật tình trang của trang thiết bị từng phòng
- _ Tra cứu chi tiết tình trạng
- - Thêm mới
- _ Xóa khi thiết bị không còn tôn tại
3.5 Quản lý đặt phòng, nhận phòng
- _ Nhận thông tin từ nhân viên lễ tân về yêu cầu phòng của khách thuê, gửi yêu cầu đến
bộ phận quản lý => kiểm tra tình trạng phòng => bố trí phòng cho khách
3.6 Quản lý dịch vụ đi kèm
Trang 11dua khach hang
- Nguoi quan ly:
+ Tra cứu dịch vụ
+ Thêm dịch vụ
+ Cập nhật thông tin cia dịch vụ
+ Xóa dịch vụ hiện có
3.7 Quản lý trả phòng, thanh toán
- _ Bộ phận tài chính đưa hóa đơn => lập báo cáo doanh thu
Tiến hành đưa phòng đã trả vào danh mục phòng trồng
4 Ngôn ngữ lập trình va cai dat
- _ Hệ thống sử dụng ngôn ngữ C++ đề tiền hành thiết kế và hoàn thiện
5 Hé quan trị cơ sở dữ liệu
5.1 Giới thiệu về My SỢL
CSDL, là một hệ thống lưu trữ thông tin được sắp xếp rõ ràng, phân lớp ngăn nắp những
thông tin ma minh lưu trữ Vì thé, ban có thé truy cập dữ liệu một cách thuận lợi, nhanh
chóng MySQL hỗ trợ đa số các ngôn như lập trình
- My§QL là hệ quản trị cơ sở dữ liệu tự đo nguồn mở phổ biến nhất thê giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ sở
dữ liệu tốc độ cao, ôn định và dễ sử dụng, có tính khả chuyền, hoạt động trên nhiều hệ điều hành cung cấp một hệ thông lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo
mật cao, MySQL rất thích hợp cho các ứng đụng có truy cập CSDL trén internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,
5.2 Loiich khi sử dụng
Trang 12Tốc độ: MySQL rất nhanh Những nhà phát triển cho rằng MySQL là cơ sở dữ liệu
nhanh nhất mà bạn có thẻ có
Dé sir dung: MySQL tuy có tính năng cao nhưng thực sự là một hệ thông cơ sở đữ liệu rất đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệ thông lớn Giá thành: MySQL là miễn phí cho hầu hết các việc sử dụng trong một tô chức
Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn lựa cho tất
cả các hệ thống cơ sở đữ liệu hiện đại Bạn cũng có thể truy cập MySQL bằng cách
sử dụng các ứng dyng ma hé tre ODBC (Open Database Connectivity -m6t giao thức giao tiếp cơ sở đữ liệu được phát triển bởi Microsoft)
Năng lực: Nhiều client có thể truy cập đến server trong cùng một thời gian Các client có thể sử đụng nhiều cơ sở dữ liệu một cách đồng thời Bạn có thể truy cập MySQL tương tác với sử dụng một vài giao diện để bạn có thể đưa vào các truy vấn và xem các kết quả: các dòng yêu cầu của khách hàng, các trình duyệt Web
Kết nối và bảo mật: MySQL được nỗi mạng một cách đầy đủ, các cơ sở dữ liệu có
thê được truy cập từ bất kỳ nơi nào trên Internet do đó bạn có thê chia sẽ đữ liệu của bạn với bắt kỳ ai, bất kỳ nơi nào Nhưng MySQL kiểm soát quyền truy cập cho
nên người mà không nên nhìn thay dữ liệu của bạn thì không thể nhìn được
Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không phải UNIX chang han nhu Windows hay OS/2 MySQL chạy được các với mọi phần cứng từ các máy PC ở nhà cho đến các máy server
Sự phân phối rộng: MySQL rất dễ dàng đạt được, chỉ cần sử dụng trình đuyệt web của bạn Nếu bạn không hiểu làm thế nào mà nó làm việc hay tò mò về thuật toán,
bạn có thê lấy mã nguồn và tìm tòi nó Nếu bạn không thích một vài cái, bạn có thé
thay đôi nó
Sự hỗ trợ: Bạn có thẻ tìm thấy các tài nguyên có sẵn mà MySQL hỗ trợ Cộng
đồng MySQL rất có trách nhiệm Họ trả lời các câu hỏi trên mailing list thường chỉ
trong vài phút Khi lỗi được phát hiện, các nhà phát triển sẽ đưa ra cách khắc phục trong vài ngày, thậm chí có khi trong vài giờ và cách khắc phục đó sẽ ngay lập tức
Trang 13I CÁC SƠ ĐỎ
mô hình khách san
X
Chủ sở hữu Quản lý Nhân viên
Trang 15
II ` GIẢI THÍCH HƯỚNG LÀM
1 Class person
- Khai bao thu vién va tạo một lớp person voi cac thudc tinh: Hoten la ho tén đối tượng,
gioitinh là giới tính đôi tượng, điachi là địa chỉ của đối tượng và tat ca theo kiểu char cmnd la chimg mình nhân dân, sđ là số điện thoại và theo kiểu int ngaysinh la ngay tháng năm sinhv và là l struct bao gồm ngay, thang, nam theo kiéu int, được viết là
- _ Khai báo hàm khởi tạo có tham số mặc định và hàm hủy
//ham tao vot tham so mạc dinh
person(char *hoten =" ", char *gioitinh =" ", char *diachi =" ",int day = 9, int month = @, int year = @, int cmnd = 9, int sdt z 0)
Trang 16- Ta có voiđin_person đề nhập các thông tin chung của đối tượng và voiở owf_ person là xuất thông tin, str dung setw() dé can chinh
void in_person()
fflush(stdin);
cout<<"Ho va ten: "; cin.getline(this->hoten, 100);
cout<<"Gioi tinh: "; cin.getline(this->gioitinh, 4);
cout<<"Dia chi: "; cin.getline(this->diachi, 100);
cout<<"Ngay thang nam sinh: “;
2 Class nhanvien
- Class nhanvien dé quan ly các thông tin của nhân viên của khách sạn
- _ Khai báo các thư viện và file “person.cpp”
- _ Class nhanvien được kế thừa công khai class person với những thuộc tính riêng là:
bophan là bộ phận, maNV là mã nhân viên với kiêu char
ngaylam là ngày bắt đầu đi làm của nhân viên và là l struct gồm gay, thang, nam
kiéu int, duoc viet la nl
Trang 1721 nhanvien(char *hoten =” ", char *gioitinh =” "”", char *diachi =” ", int day = 9, int month = 0,
35 //chong toan tu nhap
36 friend istream & operator>>(istream &is, nhanvien &nv)
37 {
38 is.ignore();
39 cout<<"MaNV: "; is.getline(nv.maNV, 5@);
40 nv.in_person();
41 cout<<"Bo phan: "; is.getline(nv.bophan, 50);
42 cout<<"Ngay vao lam: ";
43 is>>nv.nl.ngay>>nv.nl.thang>>nv.nl.nam;
46 //chong toan tu xuat
47 friend ostream & operator<<(ostream 05, nhanvien &nv)
Class khachhang đề quản lý các thông tin của khách hang của khách sạn
Khai bao cac thu vién va file “person.cpp”
Class khachhang được kê thừa công khai class person với những thuộc tính riêng là: maKH là mã khách hang theo kiều char
Trang 18//chong toan tu xuat
Trang 19tên dịch vụ kiêu char, giaDV là giá dich vu kiéu float
+ Vitinh chat đóng gói của LTHDT đề có thể sử dụng được các thuộc tính thì phải có
ham dé cho class được kế thừa class đichvu có thé truy cap duge, float get giaDV()
là trả về giá trị giá tiền của địch vụ, char *get_ maDV() la tra vé gia tri ma dich vụ
236
Trang 20- Class thietbi đề quản lý các thiết bị của khách sạn
- _ Khai báo các thư viện và các thuộc tính: maTB là mã thiết bị kiểu char, tenTB là
tên thiết bị kiểu char, giaTB là giá thiết bị kiểu float
+ Vitinh chat đóng gói của LTHDT đề có thể sử dụng được các thuộc tính thì phải có
ham để cho class được kế thừa class thietbi có thể truy cập được, char
*get_ maTB() la tra vé gia tri cua ma thiét bi
Trang 21om
is.ignore();
27 cout<<"Gia thiet bi: "; is>>tb.giaTB;
- Class phong dé quan ly cac phong cua khach san
- Khai bao cac thu vién và các thuộc tính: zzP là mã phòng, /oaiP là loại phòng kiều char, giaP la gia phong thué 1 ngay kiéu float, tinhtrang la tinh trang phong trong hay
có người thué kiéu int va fang là tầng phòng kiểu int
Trang 22ham để cho class được kế thừa class phong co thé truy cap duge, char *get_maP()
la tra vé gia tri cua ma phong, float get _giaP() là trả về giá trị của giá tiền thuê phong, int get_tinhtrang/() là trả về giá trị của tình trang phong, void
set_tinhtrang(int a) la gan tinh trang cụa phòng giá trị là a
friend istream & operator>>(istream Sis, phong 8p)
{
is.ignore();
cout<<"Ma phong: "; is.getline(p.maP, 50);
cout<<"Loai phong: is.getline(p.loaiP, 5@);
cout<<"Gia phong: "; is>>p.giaP;
chong toan tu xuc
friend ostream & operator<<(ostream Bos, phong &p)
os<<setw(20)<<left<<p.maP<<setw(20)<<p loaiP<<setw(20)<<setprecision(3@)<<p.giaP<<setw(15)<<p tang<<setw(2@)<<p tinhtrang<<end]; }
Khai báo các thư viện và các thuộc tính:
+ ngaydangki la ngay bat đất thuê phòng và ngayketfhue là ngày hết hạn thuê và cả
2 đều là struct bao gồm lần lượt 1a ngaydk, thangdk, namdk, ngaykt, thangkt, namkt kiéu int
+ phantiendu la phan tién nhô lên hoặc hụt di sau khi khách hàng thanh toán hóa đơn, bao gồm tiền phòng và địch vụ (nếu có)
+ /hanhưoan là số tiền khách hàng tra kiéu float
+ /ongfien hoadon là tông sô tiền bao gồm tiền phòng thuê trong bao nhiêu ngày và
sử dụng dịch vụ (nêu có) kiêu float
Trang 23+
ma NƯDP là mã nhân viên sử dụng chức năng kiểu char
ma KHDP là mã khách hàng đặt phòng kiểu char
ma_HD là mã hóa đơn sau khi phòng được đặt kiéu char
gia PDP la gia phong duoc dat kiéu char
Tạo hàm khởi tạo với tham số mặc định và hàm hủy
Aanshong im == ~ ®; it thangdk = 9, int namdk = ©, int ngaykt = @, int thangkt = @, int namkt ~ 9, float thanhtoan ~ @, float antes -
cer “to = * “ float giaDVDOV = 6, flost tongtien_hoaden = @)
:phong(maP, loaiP, giaP, tang, tinhtrang)
Trang 24+ Sử dụng toán tử nhập xuât operator >> va << đề nhập xuât các thông t của
class dafphong gôm mã hóa đơn, ngày bat dau và kết thúc thuê phòng Trước hàm tongtien ta dùng sefprecision() đề chỉnh định chữ sô xuât hiện
friend istream & operator>>(istream &is, datphong &dp)
cout<<"Ma hoa don: "; is.getline(dp.maHD, 58);
veid hienthi_HOADON(int i)
{
cout<<setw(25)<<left<<this->maHD<< setw(25)<<this- >maKHDP<<setw(25)<<this- >maNVDP<<setprecision(30)<<this->tongtien(i)<<end];
+ Ta có hàm float tongtien(int i) dé tinh tổng tiền trong hóa đơn của khách hàng bao gồm thuê phòng trong số ngày và địch vụ (nếu có)
+ Tacé ham void ThanhToan(int i) đề tính ra hiệu số tiền của khách hàng với hóa đơn, nêu khách hàng đưa nhiều tiền thi in ra Thoi /a¡: sô tiền đư, nêu khách đưa đủ thi in ra Tra du, con khéng thi in ra Khách no: số tiền khách thiểu
79
82 int SoNgay = (this->NKT.ngaykt - this->NDK.ngaydk) + 30*(this->NKT.thangkt - this->NDK.thangdk);
83 this->tongtien_hoadon = this->giaPDP*SoNgay + this->giaDVDDV;
89 cout<<"So tien: "; cin>>this->thanhtoan;
90 int SoNgay = (this->NKT.ngaykt - this->NDK.ngaydk) + (this->NKT.thangkt - this->NDK.thangdk) ;
91 this->phantiendu = this->thanhtoan - this->giaPDP*SoNgay - this->get_giaDVDDV();
+ Vitinh chat đóng gói của LTHDT để có thể sử dụng được các thuộc tính thì phải có
ham dé cho class được kế thừa class dafphong có thể truy cập được, các hàm đó bao gom: char *get maKHDP(), char *get_maNVDP(), char *get_maPDP(), char
*get maHD(), float get giaPDP(), float get giaDVDDV))
Trang 25
+ Tat ca nhimg ham void set là gan giá trị của thuộc tinh trong class muc dich dé
lưu giá trị của thuộc tính để tạo hóa đơn, các hàm đó gồm: void
*set_ maPDP(char
*ma), void *set maNVDP(char *ma), void *set_ maKHDP(char *ma),
void set_giaPDP (float gia), void set_giaDVDDV (float gia)
void set_giaDVDDV(float gia)
Class chuc nang la tat cả các chức năng của các lớp trên và thêm các chức năng như
them, xóa, hiển thị các chức năng đó
Khai báo thư viện và các thuộc tính là các vector của các class kế thừa
Sử dụng vector cho việc nhập hay xóa thông tin của I đối tượng nào đó đễ dàng hơn
Trang 278.1 Chức năng nhập thông tin
Tại chức năng nhập, ta sử dụng toán tử nhập đề nhập thông tin và hàm vector push backQ)
đê chèn phân tử cuôi cùng của vector
Trang 288.2 Chức năng xóa một thông tin bat ki
Tại chức năng này, ta nhập mã của đối tượng mình muốn xóa, nêu mã đó trùng với mã có sẵn trong danh sách, ta dùng hàm erase() của vector để xóa đi phần tử đó
78 for(int i = @; i < ds_khachhang.size(); i++)
Trang 29cout<<" <= | NHAP THONG TIN NHAN VIEN MUON XOA |=
cout<<"Nhap ma Nhan vien: "; cin.getline(ma, 50);
cout<<"Nhap ma Dich vu: ";
Trang 30652 cout<<"\n <=: | NHAP THONG TIN THIET BI MUON XOA [= >"<<endl;
8.3 Xóa toàn bộ danh sách
Tại chức năng này, ta sử dụng hàm c/ear() dé xóa toàn bộ danh sách đã nhập
Trang 31else cout<<"DANH SACH KHACH HANG TRONG! "<<end]l;
Xóa toàn bộ danh sách khách hàng
void delete all NV()
else cout<<"DANH SACH DICH VU TRONG!"<<endl;
Xóa toàn bộ danh sách dịch vu
else cout<<"DANH SACH PHONG TRONG!"<<end1l;
Xóa toàn bộ danh sách phòng