Ngày nay tin học đã trở thành một ngành khoa học cực kì quan trọng trong cuộc sống hiện đại. Có thể nói mọi ngành khoa học khác đều rất cần sự trợ giúp của máy vi tính. Ngược lại tin học cũng liên quan đến rất nhiều ngành. Do đó việc học tập và nghiên cứu về tin học cũng trở nên hết sức cần thiết và tất yếu đối với mọi người.
Sự ra đời của máy tính kèm theo sự phát triển của các ngôn ngữ lập trình Có rất nhiều ngôn ngữ lập trình nhằm tạo sự thuận lợi trong việc giao tiếp giữa máy tính và người sử dụng. Và hiện nay các ngôn ngữ phát triển theo hướng đối tượng tức lấy yêu cầu người dùng làm tiêu chuẩn.
13 trang |
Chia sẻ: tuandn | Lượt xem: 2652 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Đề tài Viết chương trình quản lí nhà trọ (khách sạn), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
LỜI MỞ ĐẦU
Ngày nay tin học đã trở thành một ngành khoa học cực kì quan trọng trong cuộc sống hiện đại. Có thể nói mọi ngành khoa học khác đều rất cần sự trợ giúp của máy vi tính. Ngược lại tin học cũng liên quan đến rất nhiều ngành. Do đó việc học tập và nghiên cứu về tin học cũng trở nên hết sức cần thiết và tất yếu đối với mọi người.
Sự ra đời của máy tính kèm theo sự phát triển của các ngôn ngữ lập trình Có rất nhiều ngôn ngữ lập trình nhằm tạo sự thuận lợi trong việc giao tiếp giữa máy tính và người sử dụng. Và hiện nay các ngôn ngữ phát triển theo hướng đối tượng tức lấy yêu cầu người dùng làm tiêu chuẩn.
Đa số sinh viên chúng em đều xa nhà nên phải tự thuê cho mình một căn nhà trọ do đó sau khi học môn Lập Trình Hướng Đối Tượng , chúng em chọn đề tài làm bài tập lớn là:
Viết chương trình quản lí nhà trọ( khách sạn).
Mô phỏng lệnh tạo thư mục (MD/MKDIR) trong hệ điều hành MSDOS.
Vì đây là lần đầu tiên thực hiện đề tài này nên vẫn còn thiếu kinh nghiệm nên chúng em mong sự giúp đỡ, hướng dẫn tận tình của thầy cô và các bạn để hoàn thiện hơn đề tài đồ án này.
GV hướng dẫn: Lê Thị Mỹ Hạnh
Sinh viên: Võ Đức Khánh
Nguyễn Sỹ Thìn
Lớp: 06T4
BÀI TOÁN QUẢN LÝ KHÁCH SẠN
Đặt bài toán
Quản lí phòng trọ là một ứng dụng của lập trình hướng đối tượng vào thực tế. Các bài toán quản lí có trong khá nhiều môn học khác như Phân tích và thiết hệ thống ,cơ sở dữ liệu...Đây là ví dụ cho ming chứng cho phương pháp phân tích thiết kế và lập trình hướng đối tượng.
Khảo sát yêu cầu
Để nắm bắt được các nhu cầu , trước tiên chúng ta cần phải xác định những tác nhân chính trong ứng dụng quản lí . Xét bài toán ở mức độ đơn giản có thể nhận thấy 2 tác nhân chính tham gia ứng dụng là khách hàng và người quản lí. Các hoạt động liên quan đến 2 tác nhân này được mô phỏng trong lược đồ dưới đây.
Trả phòng
Thuê phòng
Tìm phòng
Danh sách các phòng
Danh sách khách hàng
Danh sách phòng đang thuê
đ
Nhập phòng
Đăng kí
Khách hàng
Quản lí
Tìm khách hàng
Đăng kí
Tác vụ này cho phép khách hàng mới có thể đăng kí vào ở trong nhà trọ, sau khi đăng kí khách hàng mới được chính thức vào tìm phòng và thuê phòng. Thủ tục đăng kí đơn giản để lấy mã số và thông tin khách hàng. Để đơn giản hóa bài toán chúng em chỉ đưa ra 2 thông tin là mã số khách hàng và tên khách hàng.
Nhập phòng
Nhà trọ quản lí theo phòng. Mổi phòng có các thông tin chính là mã phòng và tên phòng. Tác vụ này cho phép chủ quản lí bổ sung thêm phòng và mã các phòng mới.
Danh sách các phòng
Sau khi nhập dữ liệu phòng vào thì chủ quản lí sẽ có bảng danh sách các phòng để cho thuê.
Tìm phòng
Dựa vào danh sách phòng thì khách hàng có thể tìm cho mình căn phòng ưng ý nhất
Đăng kí thuê phòng
Sau khi đăng kí và tìm được phòng ưng ý khách hàng có thể thuê phòng cho mình
Đăng kí trả phòng
Sau khi kết thúc quá trình học tập , làm việc khách hàng trả phòng để về quê hay chuyển chổ ở thì khách hàng phải đăng kí trả phòng.
Danh sách các khách hàng
Sau khi đăng kí thì toàn bộ thông tin khách hàng được đưa vào đây khi nào cần thông tin gì về khách hàng thì quản lí chỉ cần vào đây để xem.
Tìm khách hàng
Khi xảy ra sự cố hay có vấn đề gì của khách hàng thì có thể vào đây để tìm thông tin khách hàng đó.
Danh sách các phòng đang cho thuê
Đây là danh sách các phòng đã có khách hàng thuê ở.
Phân tích thiết kế
Nhập thông tin khách hàng
Nhập phòng
mới
Tạo đối tượng khách hàng
Tạo danh sách phòng
Ghi ra tệp
Ghi ra tệp
Dễ dàng phát hiện các lớp trong ứng dụng, trước tiên cần phân tích sơ bộ các tác vụ hệ thống như đã nêu trong khảo sát.
trùng trùng
không trùng không trùng
Đăng kí mới khách hàng nhập phòng
Từ lược đồ hoạt động đăng kí mới khách hàng có thể thấy hệ thống phải có một lớp khách hàng để quản lí thông tin về các khách hàng. Mổi khách hàng sẽ được thể hiện như một đối tượng của lớp khách hàng. Danh sách các bạn đọc và tệp lưu trữ thông tin khách hàng được lưu trữ như các thành phần tĩnh của lớp.
Đăng kí thuê phòng
Đăng kí trả phòng
Nhập mã phòng trả
Nhập mã khách hàng
Nhập vào mã phòng
Nhập mã khách hàng
Báo đã có người thuê
Không có phòng này
Thông tin sai
sai sai
thông báo
Thiết lập lại dữ liệu như ban đầu
Lập dữ liệu
đúng đúng
thuê phòng trả phòng
Từ lược đồ hoạt động thuê phòng và trả phòng ta thấy cần phát sinh thêm lớp phòng và khách hàng
Còn các tác vụ danh sách khách hàng ,danh sách các phòng ,danh sách các phòng đang cho thuê và danh sách khách hàng chỉ đơn thuần là in danh sách.
Thống kê lại thông tin phân tích bên trên và chi tiết hơn nữa các thuộc tính và phương thức được thể hiện qua các bảng dưới đây.
Lớp khachhang (khách hàng)
Thộc tính
Phạm vi
Giải thích
masokhachhang
private
Mã số của khách hàng
tenkhachhang
private
Tên của khách hàng
sophongthue
private
Chưa thuê=0, tối đa thuê 3 phòng
sokhachhang
static
Số lượng khách hàng có trong khách sạn
tep
static
Tệp lưu trữ dữ liệu
Phương thức
Phạm vi
Giải thích
Khachhang(char *ma,char *ten)
public
Lấy thông tin khách hàng
Dangki()
static
Đăng kí một khách hàng mới
Timkh()
static
Tìm khách hàng khi đã biết mã khách hàng
Hienthimotkhachhang()
Virtual
Hiển thị thông tin khách hàng
Danhsachcackhachhang()
static
Danh sách các khách hàng đã đăng kí
Xoadl()
static
Xóa dữ liệu khỏi bộ nhớ
Ghitep()
static
Ghi dữ liệu ra tệp
Doctep()
static
Đọc dữ liệu từ tệp
Laut()
Virtual
Trả về 0 hoặc 1nếu là ưu tiên hoặc không ưu tiên
Lớp khachhangut(khách hàng ưu tiên)
Thuộc tính
Phạm vi
Giải thích
uutien
private
Nhập loại khách hàng
Phương thức
Phạm vi
Giải thích
Khachhangut(char *ma, char *ten,char *ut)
public
Thông tin thêm về khách hàng
Laut()
Virtual
Trả về 0 hoặc 1nếu là ưu tiên hoặc không ưu tiên
Hienthimotkhachhang()
Virtual
Hiển thị thông tin khách hàng
Lớp phong (phòng)
Thuộc tính
Phạm vi
Giải thích
masophong
private
Mã số phòng
tenphong
private
Tên phòng
tinhtrang
private
Tình trạng của phòng
tongsophong
static
Tổng số phòng có trong khách sạn
Cacphong[100]
static
Danh sách lưu trữ các phòng
tep
static
Lưu dữ liệu vào tệp
Phương thức
Phạm vi
Giải thích
Phong(char *ma,char *ten)
public
Lấy thông tin về phòng
Lietkephong()
static
Liệt kê tất cả các có phòng trong khách sạn
Timphong()
static
Tìm một phòng khi biết mã
Nhapphong()
static
Nhập thêm phòng mới vào khách sạn
Hienthimotphong()
public
Đưa ra thông tin của một phòng
Xoadl()
static
Xóa dữ liệu khỏi bộ nhớ
Ghitep()
static
Ghi dữ liệu ra tệp
Doctep()
static
Đọc dữ liệu từ tệp
Lớp thuephong (thuê phòng)
Thuộc tính
Phạm vi
Giải thích
maphongthue
private
Mã số phòng thuê
maphieuthue
private
Mã số người đăng ký
sophongchothue
static
Số phòng khách sạn đang cho thuê
cacphongthue
static
Các phòng đã được thuê
Phương thức
Phạm vi
Giải thích
Thuephong(char *ma,char *ten)
public
Thông tin về mã phòng và mã phiếu thuê
Dangkythuephong()
static
Thủ tục đăng ký
Hienthiphongthue()
public
Hiển thị phòng đang cho thuê
Danhsachcacphongthue()
static
Đưa ra danh sách các phòng đang cho thuê
Lớp traphong (trả phòng)
Thuộc tính
Phạm vi
Giải thích
maphongtra
private
Mã của phòng trả
maphieutra
private
Mã khách hàng khi đăng kí vào nhà trọ
Phương thức
Phạm vi
Giải thích
tramotphong()
static
Đăng kí trả một phòng
HÌNH ẢNH DEMO
Giao diện người sử dụng:
Nhập thêm một phòng mới:
Đăng kí mới cho một khách hàng:
KẾT LUẬN
Sau một thời gian nghiên cứu thực hiện đề tài thì chúng em cũng hoàn thành đề tài với kết quả khả quan. Tuy nhiên do các điều kiện khách quan cũng như chủ quan và đặt biệt là do công việc học hành dày đặc nên bài nghiên cứu còn vài thiếu sót mong cô thông cảm.
Nhìn chung ,chương trình thực hiện cơ bản đầy đủ các chức năng của yêu cầu trong công việc quản lý phòng trọ (khách sạn). Kèm theo các lớp với tính hướng đối tượng trong bài toán thì tạo điều kiện dễ dàng cho việc nâng cấp chương trình để hoàn thiện hơn, thêm nhiều tác vụ hơn để tiện quản lý.
Nhược điểm:
Thiếu việc tính tiền sau khi trả phòng và giá phòng cũng như xếp loại phòng.
Chương trình có tính hướng đối tượng chưa cao.
Còn thiếu vài tác vụ trong việc quản lý.
Tài liệu tham khảo:
- Giáo trình Lập trình hướng đối tượng – Lê Thị Mỹ Hạnh – ĐHBK Đà Nẵng.
- Tài liệu tìm kiếm trên internet.
- Diễn đàn congdongcviet.com
…
MỤC LỤC