-Structure – cấu trúc là một loại dữ liệu khác trong ngôn ngữ lập trình C/C++, cho phép bạn kết hợp các dữ liệu khác kiểu nhau -Dạng tổng quát: struct [ten cau truc] { phan dinh nghia t
Trang 1NGƯỜI THỰC HIỆN: HOÀNG THỊ ANH THƠ
TÊN ĐỀ TÀI: QUẢN LÝ KHÁCH SẠN RED
NGÀNH: CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH: PHÁT TRIỂN ỨNG DỤNG IOT
ĐỒ ÁN 1 NGƯỜI HƯỚNG DẪN
<GIẢNG VIÊN: NGUYỄN ĐÌNH CHIẾN >
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
Trang 3CHƯƠNG 1: MỞ ĐẦU
Trang 4CHƯƠNG 1: MỞ ĐẦU
Hệ thống quản lý khách sạn Red
Xử lý công việc nhanh gọn, chính
xác
Tiết kiểm chi phí nhân lực
Giảm bớt thời gian tìm kiếm, thống kê Giải quyết nhu
cầu quản lý
Trang 5 Ph ng pháp xây d ng/nghiên c u. ươ ự ứ
A T ng quan v khách s n ổ ề ạ
CHƯƠNG 1: MỞ ĐẦU
Trang 6 Có 3 loại phòng: Phòng standard( STD), Phòng Superior( SUP), Phòng
Suite( SUT) đều được đầu tư đầy đủ trang thiết bị tivi, điều hòa,…
Cơ cấu tổ chức của khách sạn:
Phòn
g b o ả
Trang 7B Hệ thống quản lý khách sạn
CHƯƠNG 1: MỞ ĐẦU
Trang 10 Kết quả dự kiến của đồ án
Thực hiện được chức năng tìm kiếm thông tin để giúp việc
tìm kiếm trở nên dễ dàng, thuận tiện, nhanh chóng hơn.
Chức năng thống kê giúp cho người quản lý có thế thuận tiện
cho việc thống kê danh sách phòng, danh sách khách hàng,
danh sách nhân viên hay là thống kê doanh thu của khách sạn
Chức năng thêm , sửa, xóa các thông tin liên quan đến đối
tượng quản lý dễ dàng nắm bắt, cập nhật nhanh chóng thông
tin.
CHƯƠNG 1: MỞ ĐẦU
Trang 12Chương 2: CƠ SỞ LÝ
THUYẾT
Trang 14- C++ hầu hết được thực thi dưới dạng là một ngôn
ngữ biên dịch
Có thể chạy trên nhiều nền tảng khác nhau
Nhiều ngôn ngữ lập trình khác được phát triển
dựa trên nền tảng C++, bao gồm C#, D, Java và
các phiên bản mới hơn của C
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 15 Hướng đối tượng
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 17Chương 2: CƠ SỞ LÝ THUYẾT
Trang 18 Các kiểu dữ liệu trong C:
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 20 Các biến trong C++
A.Tên của một biến
• B t đ u b ng d u g ch d i “_” ho c ch cái.Tên bi n có ắ ầ ằ ấ ạ ướ ặ ữ ế
th là ch hoa ho c ch th ng nh là a-z ho c A-Z Trong ể ữ ặ ữ ườ ư ặ
C phân bi t ch hoa ch th ng ệ ữ ữ ườ
• Tên bi n có th bao g m ch cái, ch s , và d u g ch d i ế ể ồ ữ ữ ố ấ ạ ướ
• Không bao g m các kĩ t đ c bi t nh là !, %, ], $. ồ ự ặ ệ ư
• Không bao g m kho ng tr ng ồ ả ố
• Không đ c trùng tên v i t khóa ượ ớ ừ
• Không nên dài quá 32 kí t ự
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 21 Các biến trong C++
B Cách khai báo biến
Khai báo không kh i t o: ở ạ
Tên_kiểu Tên_biến;
Ví dụ:
int i, j; // khai báo 2 biên i, j kiểu nguyên
float x; // khai báo biến x kiểu float.
char c,d[100]; // biến kí tự c, xâu d chứa tối đa 100 kí tự.
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 24 Con trỏ trong C++
B Gán giá trị cho con trỏ
Giá trị mà biến con trỏ lưu trữ là địa chỉ của biến khác có cùng kiểu dữ liệu với biến con trỏ.
Trang 26 Con trỏ trong C++
C Các phép gán không hợp lệ khi sử dụng con trỏ
Phép gán của con trỏ chỉ thực hiện được khi kiểu dữ liệu của
con trỏ phù hợp kiểu dữ liệu của biến mà nó sẽ trỏ tới.
int iValue = 0;
float fValue = 0.0;
int *i_ptr = fValue; //wrong! int pointer cannot point to the
address of a double variable
loat *f_ptr = iValue; //wrong! float pointer cannot point to the
address of an int variable
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 27C Các phép gán không hợp lệ khi sử dụng con trỏ
Truy xuất giá trị bên trong vùng nhớ mà con trỏ trỏ đến.
Ví dụ:
int *ptr; //declare an int pointer
int value = 5;
ptr = &value; //ptr point to value
cout << &value << endl; //print the address of value
cout << ptr << endl; //print the address of value which is held in ptr
cout << value << endl; //print the content of value
cout << *(&value) << endl; //print the content of value
cout << *ptr << endl; //print the content of value
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 28-Structure – cấu trúc là một loại dữ liệu khác trong ngôn ngữ lập trình
C/C++, cho phép bạn kết hợp các dữ liệu khác kiểu nhau
-Dạng tổng quát:
struct [ten cau truc]
{
phan dinh nghia thanh vien;
phan dinh nghia thanh vien;
…
phan dinh nghia thanh vien;
} [mot hoac nhieu bien cau truc];
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 291 Mảng tinh
• Mảng một chiều:
- Là một dãy các ô nhớ liên tục nhau đánh số từ 0 -> n – 1 (với n là số lượng các phần tử).
- Kích thước được xác định ngay khi khai báo và không bao giờ thay đổi.
·Cách khai báo mảng:
Phải xác định cụ thể số phần tử ngay lúc khai báo
Nên sử dụng chỉ thị tiền xử lí #define để định nghĩa về số phần tử của mảng Khởi tạo
giá trị cho mảng.
Khởi tạo giá trị cho mọi phần tử của mảng
Khởi tạo giá trị cho một số phần tử đầu mản
Khởi tạo giá trị 0 cho mọi phần tử mảng.
Tự động xác định số phần tử mảng.
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 31 Các câu lệnh điều kiện, vòng lặp trong C++
A Câu lệnh điều kiện.
*Câu lệnh điều kiện if
Chương 2: CƠ SỞ LÝ THUYẾT
C u trúc câu l nh if thi u ấ ệ ế C u trúc câu l nh if đ ấ ệ ủ
If ( đi u ki n) ề ệ
{
}
If ( đi u ki n) ề ệ {
} Else {
Trang 32
Trang 33l nh ệ } while( bi u ể
l nh ệ }
Trang 34 Lập trình hướng đối tượng trong C/C++
Lập trình hướng đối tượng (tiếng Anh:
Object-oriented programming, viết tắt: OOP) là một mẫu
hình lập trình dựa trên khái niệm "Công nghệ đối
tượng", mà trong đó, đối tượng chứa đựng các dư
liệu, trên các trường, thường được gọi là các thuộc
tính; và mã nguồn, được tổ chức thành các phương
thức
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 35 Những đối tượng trong một ngôn ngữ OOP là các
kết hợp giữa mã và dữ liệu mà chúng được nhìn
nhận như là một đơn vị duy nhất Mỗi đối tượng có một tên riêng biệt và tất cả các tham chiếu đến đối
tượng đó được tiến hành qua tên của nó Như vậy,
mỗi đối tượng có khả năng nhận vào các thông báo,
xử lý dữ liệu (bên trong của nó), và gửi ra hay trả
lời đến các đối tượng khác hay đến môi trường.
Trang 36đối tượng Nó làm đơn giản hóa việc duy trì và phát
triển phần mềm bằng việc cung cấp một số khái niệm
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 38 Đối tượng và các lớp trong C++
B.Lớp C++
Một định nghĩa lớp trong C++ bắt đầu với từ
khóa class, được theo sau bởi tên lớp và phần thân
lớp, được bao quanh trong một cặp dấu ngoặc móc
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 39· Từ khóa public quyết định các thuộc tính truy cập của các thành
viên lớp mà theo sau nó Một thành viên public có thể được truy
cập từ bên ngoài lớp bất cứ đâu bên trong phạm vi (scope) của đối tượng lớp đó.
· Tạo ra các cơ chế để ngăn ngừa về việc gọi phương thức của lớp này tác động truy xuất dữ liệu của lớp đối tượng thuộc về lớp khác.
· Người lập trình có thể dựa vào cơ chế này để ngăn ngừa việc gán giá trị không hợp lệ vào thành phần dữ liệu của mỗi đối tượng.
· Không cho truy xuất 1 cách tùy tiện dữ liệu của class nôi tại.
Trang 40 Đối tượng và các lớp trong C++
C.Từ khóa private và protected thể hiện tính đóng
gói
-Các thành viên dữ liệu public của các đối tượng
của một lớp có thể được truy cập bởi sử dụng toán tử truy cập thành viên trực tiếp là dấu chấm (.).
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 41 Đối tượng và các lớp trong C++
D.Constructor & Destructor trong C++
- Một class constructor là một hàm đặc biệt trong một lớp
mà được gọi khi một đối tượng mới của lớp đó được tạo Một
class destructor cũng là một hàm đặc biệt mà được gọi khi đối
tượng đã tạo bị hủy.
- Copy Constructor trong C++: copy constructor là một
constructor mà tạo một đối tượng bằng việc khởi tạo nó với một đối tượng của cùng lớp đó, mà đã được tạo trước đó.
Chương 2: CƠ SỞ LÝ THUYẾT
Trang 42-Hàm Friend trong C++: hàm friend được cho
phép truy cập tới các thành viên là private và
Trang 43-Con trỏ this trong C++: mỗi đối tượng có một
con trỏ this đặc biệt, mà trỏ tới chính đối tượng đó.
-Con trỏ tới lớp trong C++: một con trỏ tới một
lớp được thực hiện giống hệt như cách một con trỏ
tới một cấu trúc Thực ra, một lớp là một cấu trúc
với các hàm trong nó.
Trang 44 Thư viện trong c++
-Thư viện (library) là một tập mã nguồn đã được
đóng gói, có thể được tái sử dụng trong nhiều
Trang 48C p ậ
nh t ậ thông tin phòng
Xóa thông tin phòng
Hi n th ể ị thông tin phòng
Trang 49 Đặc tả yêu cầu phần mềm
Các yêu cầu chức năng
B.Quản lý thông tin khách hàng
Chương 3: PHÂN TÍCH VÀ
THIẾT KẾ HỆ THỐNG
Nh p ậ thông tin khách hàng
C p nh t ậ ậ thông tin khách hàng
Xóa thông tin khách hàng
.Hi n th ể ị thông tin khách hàng
Trang 50 Đặc tả yêu cầu phần mềm
Các yêu cầu chức năng
C Qu n lý thông tin nhân viên ả
Chương 3: PHÂN TÍCH VÀ
THIẾT KẾ HỆ THỐNG
Nh p ậ thông tin nhân viê
C p nh t ậ ậ thông tin nhân viên
Xóa thông tin nhân viên
Hi n th ể ị thông tin nhân viên
Trang 51Xóa thông tin d ch ị
v ụ
Hi n th ể ị thông tin d ch ị vụ
Trang 52 Đặc tả yêu cầu phần mềm
Các yêu cầu chức năng
E Chức năng tìm kiếm, tra cứu
Trang 53 Đặc tả yêu cầu phần mềm
Các yêu cầu phi chức năng
I Giao di n thân thi n, d s d ng ệ ệ ễ ử ụ
Trang 54 Thiết kế Cấu trúc dữ liệu cho hệ thống
Xác định đối tượng và các thuộc tính
Chương 3: PHÂN TÍCH VÀ
THIẾT KẾ HỆ THỐNG
B ng1:B ng c u trúc d li u ả ả ấ ữ ệ
Trang 55 Thiết kế Cấu trúc dữ liệu cho hệ thống
Xây dựng cấu trúc dữ liệu tương ứng
A Phòng
Chương 3: PHÂN TÍCH VÀ
THIẾT KẾ HỆ THỐNG
Trang 58 Thiết kế Cấu trúc dữ liệu cho hệ thống
Xây dựng cấu trúc dữ liệu tương ứng
B.Khách hàng
Chương 3: PHÂN TÍCH VÀ
THIẾT KẾ HỆ THỐNG
Trang 61 Thiết kế Cấu trúc dữ liệu cho hệ thống
Xây dựng cấu trúc dữ liệu tương ứng
C.Nhân viên
Chương 3: PHÂN TÍCH VÀ
THIẾT KẾ HỆ THỐNG
Trang 64 Thiết kế Cấu trúc dữ liệu cho hệ thống
Xây dựng cấu trúc dữ liệu tương ứng
D.D ch v ị ụ
Chương 3: PHÂN TÍCH VÀ
THIẾT KẾ HỆ THỐNG
Trang 66 Thiết kế giao diện cho hệ thống
Chương 3: PHÂN TÍCH VÀ
THIẾT KẾ HỆ THỐNG
Trang 67Xây d ng ng d ng Qu n lý khách s n ự Ứ ụ ả ạ
Red ch y trên Consoleạ
Trang 74 Một vài chức năng chính của hệ thống:
A Nhập thông tin phòng
B Sửa thông tin phòng
C Xóa thông tin phòng
D Hiển thị thông tin phòng
CHƯƠNG 4: XÂY DỰNG ỨNG
DỤNG
Trang 75 Kết quả đạt được của đồ án
Đã hoàn thi n đ y đ các thao tác c a công vi c qu n ệ ầ ủ ủ ệ ả
lý khách s n nh : Qu n lý phòng, Qu n lý khách hàng, ạ ư ả ả
Qu n lý nhân viên, Qu n lý d ch v ả ả ị ụ
H tr các nhiêm v chính nh : Nh p, s a, xóa, hi n ỗ ợ ụ ư ậ ử ể
th thông tin trong vi c qu n lý khách s n ị ệ ả ở ạ
Giao di n d s d ng, d đi u khi n ệ ễ ử ụ ễ ề ể
Nâng cao t duy l p trình và tích lũy kinh nghi m cho ư ậ ệ
sinh viên
KẾT LUẬN
Trang 77 Hướng phát triển của đồ án
Ti p t c s a ch a đ hoàn thi n ch ng ế ụ ử ữ ể ệ ươ
Trang 78