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

Pbl2 dự án cơ sở lập trình đề tài quản lý phòng trọ

20 100 1

Đ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

Thông tin cơ bản

Tiêu đề Pbl2 Dự Án Cơ Sở Lập Trình Đề Tài Quản Lý Phòng Trọ
Tác giả Lê Văn Thành Luân, Nguyễn Nhật Khôi
Người hướng dẫn TS. Võ Đức Hoàng
Trường học Đại Học Đà Nẵng
Chuyên ngành Quản Lý Phòng Trọ
Thể loại Dự Án Cơ Sở Lập Trình
Năm xuất bản 2021
Thành phố Đà Nẵng
Định dạng
Số trang 20
Dung lượng 2,2 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chính vì thu nhập cao và không sợ không có người thuê, nhiều chủ nhà mạnh dạn đầu tư vào hình thức kinh doanh này, với quy mô nhà trọ lớn, nhiều phòng hay thậm chí là phân bố ở nhiều chỉ

Trang 1

ĐẠI HỌC ĐÀ NẴNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

Đề tài: QUẢN LÝ PHÒNG TRỌ

GIẢNG VIÊN HƯỚNG DẪN: TS.Võ Đức Hoàng SINH VIÊN THỰC HIỆN:

Tên sinh viên: Lê Văn Thành Luân LỚP: 20TCLC_DT5 NHÓM: 20.91 Tên sinh viên: Nguyễn Nhật Khôi LỚP: 20TCLC_DT3 NHÓM: 20.91

Đà Nẵng, 12/2021

Trang 2

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

LỜI MỞ ĐẦU

Hiện nay, khi các trường Đại học ngày một mở rộng, các khu công nghiệp xuất hiện ngày một nhiều, lượng sinh viên và người lao động sống xa nhà cũng tăng nhanh chóng một cách đáng kể Chính xu hướng này kéo theo việc các khu nhà trọ mọc lên như nấm, đặc biệt là gần các trường Đại học Cao đẳng, khu công nghiệp, từ nội cho tới ngoại thành Thực tế thì kinh doanh phòng trọ hay cho thuê căn hộ là một hình thức được nhiều người quan tâm hiện nay, bởi nó mang đến thu nhập cao và ổn định cho chủ nhà, nhu cầu luôn cao và ít chịu những tác động từ môi trường bên ngoài Nếu số lượng phòng trọ của bạn ở mức trung trung, không quá nhiều thì dường như việc quản

lý có lẽ cũng khá dễ dàng

Chính vì thu nhập cao và không sợ không có người thuê, nhiều chủ nhà mạnh dạn đầu tư vào hình thức kinh doanh này, với quy mô nhà trọ lớn, nhiều phòng hay thậm chí là phân bố ở nhiều chỉ khác nhau, điều này khiến bạn không có đủ thời gian

để quản lý tất cả và sử dụng phần mềm quản lý nhà trọ chính là giải pháp đơn giản, hiệu quả để bạn có thể theo dõi tất cả mọi thứ

Trang 3

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

MỤC LỤC

LỜI MỞ ĐẦU 2

MỤC LỤC 3

DANH MỤC HÌNH VẼ 4

1 GIỚI THIỆU ĐỀ TÀI 5

2 PHÂN TÍCH CHỨC NĂNG HỆ THỐNG 6

1.1 Sử dụng với vai trò admin 6

1.2 Sử dụng với vai trò User 7

3 THIẾT KẾ CẤU TRÚC DỮ LIỆU 7

3.1 Phát biểu bài toán 7

3.2 Phân tích và ứng dụng cấu trúc dữ liệu trong hệ thống 9

4 PHÂN TÍCH HƯỚNG ĐỐI TƯỢNG VÀ TRIỂN KHAI HỆ THỐNG 13

4.1 Cấu trúc hệ thống hướng đối tượng 13

4.2 Kết quả 14

4.2.1 Giao diện chính của chương trình 14

4.2.2 Kết quả thực thi của chương trình 17

4.2.3 Nhận xét 19

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 19

a Kết luận 19

b Hướng phát triển 19

TÀI LIỆU THAM KHẢO 20

Trang 4

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

DANH MỤC HÌNH VẼ

Hình 1: Sơ đồ khối Admin

Hình 2: Sơ đồ khối User

Trang 5

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

1 GIỚI THIỆU ĐỀ TÀI

Phần mềm Quản lý phòng trọ là ứng dụng tự động hóa phòng trọ Nó giúp chúng

ta quản lý thông tin phòng trọ bằng các lệnh nhập đơn giản từ đó quản lý phòng trọ một cách hiệu quả hơn, đơn giản hơn và rất nhiều lợi ích khác như quản lý chi phí, lập hóa đơn tiền thuê, quản lý tài chính chủ trọ Phần mềm quản lý phòng trọ cho tính hiệu suất cao hơn so với cách truyền thống:

- Tổ chức toàn bộ thông tin trên 1 hệ thống duy nhất

- Quản lý chính xác và ít sai sót

- Tiết kiệm thời gian với tính tự động

Ngôn ngữ C++

C++ là một ngôn ngữ lập trình hướng đối tượng được mở rộng từ ngôn ngữ C Trong ngôn ngữ C không có khái niệm lập trình hướng đối tượng, và để có thể lập trình hướng đối tượng thì các nhà phát triển đã thêm chức năng này cùng với nhiều cải tiến khác vào ngôn ngữ C, để tạo ra phiên bản mở rộng của C chính là ngôn ngữ C++ Có thể hiểu đơn giản C++ chính là ngôn ngữ C với nhiều cải tiến khác nhau, bao gồm cả lập trình hướng đối tượng Mặc dù được cải tiến từ C, nhưng nó vẫn có khả năng sử dụng các phương thức lập trình thủ tục như ngôn ngữ C truyền thống Và một điều tuyệt vời nữa là, do C++ và C có tính tương hỗ với nhau, nên chúng ta cũng có thể sử dụng đồng thời cả C++ và C khi viết một chương trình máy tính

Ngôn ngữ C++ là ngôn ngữ lập trình hướng đối tượng do đó có lợi đối với các ứng dụng quản lý Nhờ vào 4 tính chất chính là kế thừa, đa hình, đóng gói, trừu tượng của ngôn ngữ này ta không chỉ quản lý các dữ liệu tốt hơn mà còn đảm bảo tính bảo mật dữ liệu cao cho chương trình

Bên cạnh đó, ngôn ngữ C++ đã được ra đời từ lâu nên khả năng tương thích, hỗ trợ đa nền tảng của nó tốt hơn so với các ngôn ngữ lập trình khác

Trang 6

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

2 PHÂN TÍCH CHỨC NĂNG HỆ THỐNG

2.1 Sử dụng với vai trò admin

Hình 1: Sơ đồ khối Admin

Admin có các chức năng:

- Nhập/ xuất/ chỉnh sửa dữ liệu tiền sinh hoạt

- Nhập/ xuất/ chỉnh sửa dữ liệu phòng trọ

- Nhập/ xuất/ chỉnh sửa doanh thu

- Nhập/ xuất/ chỉnh sửa dữ liệu sinh viên thuê phòng

ADMIN

Quản lý sinh viên Quản lý phòng trọ

Thu tiền sinh hoạt

Tiền điện từng

phòng

Tiền nước từng

phòng

Dữ liệu sinh viên thuê phòng

Dữ liệu phòng trọ

Doanh thu phòng trọ hàng tháng

Trang 7

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

2.1 Sử dụng với vai trò User

Hình 2: Sơ đồ khối User

User có các chức năng:

- Xem chi phí sinh hoạt

- Xem thông tin phòng trọ đang thuê

- Xem tiền thuê phòng

- Xem/ chỉnh sửa thông tin cá nhân

3 THIẾT KẾ CẤU TRÚC DỮ LIỆU

3.1 Phát biểu bài toán

Input:

- file input user.txt : chứa dữ liệu người dung (mã sinh viên, họ tên, ngày sinh, số điện thoại, quê quán, vai trò, username, mật khẩu)

USER

Dữ liệu phòng trọ Dữ liệu sinh viên Tiền thuê phòng Tiền nước của phòng

Tiền điện của phòng

Trang 8

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

- file input dienNuoc.txt: chứa mã phòng, số điện, số nước, tiền điện, tiền nước, ngày thu, trạng thái

- file input phongtro.txt: chứa mã phòng, tên phòng, loại phòng, giá phòng, trạng thái

Output:

- file output thanhtoantientro.txt: mã hóa đơn, mã phòng, mã sinh viên, ngày thu, nội dung, giá tiền, trạng thái

Trang 9

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

- Hiển thị thông tin ở màn hình

3.2 Phân tích và ứng dụng cấu trúc dữ liệu trong hệ thống

Tạo class EventFile lưu trữ các hàm nhập, xuất, đọc, thêm, sửa, xóa

- Hàm xuất:

void writingUser(string filename, vector<string> data){

ofstream myfile ("user.txt");

if (myfile.is_open())

{

if(data.size()>0){

for(int i = 0; i< data.size(); i++){

myfile << data[i]<<"\n";

} }

myfile.close();

}

else cout << "Unable to open file";

}

- Hàm đọc:

void reading(){

string line;

ifstream myfile ("example.txt");

if (myfile.is_open())

{

while ( getline (myfile,line) )

{

cout << line << '\n';

}

Trang 10

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

myfile.close();

}

else cout << "Unable to open file";

}

vector<string> Split(string str, char delim){

vector<string> list;

size_t start;

size_t end = 0;

while ((start = str.find_first_not_of(delim, end)) != string::npos)

{

end = str.find(delim, start);

list.push_back(str.substr(start, end - start));

}

return list;

}

+ Tạo hàm split : dùng hàm split để tách các string, tab bằng dấu “,’’

- Hàm thêm:

void addStudent(user u){

vector<string> list;

string line;

bool add = true;

ifstream myfile ("user.txt");

if (myfile.is_open())

{

while ( getline (myfile,line) )

{

if( getItem(Split(line,','),0) == u.id ){

string str = u.id+","+u.name+","+u.birthday+","+u.numberphone+","+u.address+",student,"+u.getUserName() +","+u.getPassword();

list.push_back(str);

add = false;

}else list.push_back(line);

}

Trang 11

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

myfile.close();

}

else cout << "Unable to open file";

if(add){

string str =

u.id+","+u.name+","+u.birthday+","+u.numberphone+","+u.address+",student,"+u.getUserName() +","+u.getPassword();

list.push_back(str);

}

writingUser("user.txt", list);

}

- Hàm chỉnh sửa:

void updateStudent(user u){

vector<string> list;

string line;

ifstream myfile ("user.txt");

if (myfile.is_open())

{

while ( getline (myfile,line) )

{

if( getItem(Split(line,','),0) == u.id ){

string str = u.id+","+u.name+","+u.birthday+","+u.numberphone+","+u.address+",student,"+u.getUserName() +","+u.getPassword();

list.push_back(str);

}else list.push_back(line);

}

myfile.close();

}

else cout << "Unable to open file";

writingUser("user.txt", list);

}

- Hàm xóa:

void deleteStudent(string id){

vector<string> list;

string line;

ifstream myfile ("user.txt");

if (myfile.is_open())

{

Trang 12

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

while ( getline (myfile,line) )

{

if( getItem(Split(line,','),0) == id ){

// no add list }else list.push_back(line);

}

myfile.close();

}

else cout << "Unable to open file";

writingUser("user.txt", list);

}

+ Hàm push_back: Thêm một phần tử mới vào cuối vùng chứa danh sách, sau phần tử cuối cùng hiện tại của nó Nội dung được sao chép (hoặc di chuyển) sang phần tử mới + Class <vector> giúp vector hỗ trợ việc thao tác với các mảng động

TRIỂN KHAI HỆ THỐNG

4.1 Cấu trúc hệ thống hướng đối tượng

Class dienNuoc

mã phòng trọ

số điện /tháng

số nước /tháng tiền điện /tháng tiền nước /tháng

Trang 13

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

Class phongTro

mã phòng trọ

tên phòng trọ

loại phòng

giá phòng

trạng thái phòng

Class user

mã sinh viên

tên sinh viên

ngày sinh

số điện thoại

quê quán

vai trò

tên người dùng

mật khẩu

4.2 Kết quả

4.2.1 Giao diện chính của chương trình

Class thanhtoantientro

mã hóa đơn

mã phòng

mã sinh viên ngày đóng nội dung giá tiền trạng thái đóng

Class doanhthu

ngày

tháng

năm

giá tiền

Trang 14

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

Menu login

Xem nhanh phòng trọ đang trống

Menu của admin

Menu quản lý sinh viên

Trang 15

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

Menu quản lý phòng trọ

Menu quản lý tiền điện nước

Thống kê doanh thu

Menu của user

Trang 16

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

Xem, chỉnh sửa thông tin cá nhân

Xem, thanh toán tiền điện, nước

Xem thông tin phòng, thanh toán tiền trọ

4.2.2 Kết quả thực thi của chương trình

- Đăng nhập admin:

Nhập dữ liệu sinh viên từ console hoặc file text từ đó xuất ra màn hình

Trang 17

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

Thay đổi thông tin sinh viên

- Đăng nhập user:

Xem thông tin cá nhân

Trang 18

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

Đặt phòng

4.2.3 Nhận xét

- Cách quản lý dữ liệu phù hợp, có phần quản lý của admin và phần của users tách riêng

Trang 19

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

- Sử dụng tốt các hàm truy xuất, nhập, thêm, sửa, xóa

- Cách đọc, xuất file tốt

- Phần thiết kế cần cải thiện thêm

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

a Kết luận

Sau PBL2, chúng em đã học được:

- Cách quản lý dữ liệu tốt hơn, chặt chẽ hơn

- Có thêm hiểu biết về cách phân tích, thiết kế hệ thống quản lý phòng trọ

- Nắm được quy trình quản lý phòng trọ

b Hướng phát triển

Trong tương lai, chúng em sẽ học thêm SQL để quản lý hệ thống database tốt hơn, đồng thời cũng phát triển thêm các tính năng, dịch vụ mới cho chương trình

và thiết kế, design chương trình được đẹp , đơn giản, dễ sử dụng hơn cho người dùng

Trang 20

PBL2: DỰ ÁN CƠ SỞ LẬP TRÌNH

TÀI LIỆU THAM KHẢO

[1] Top 10 app - phần mềm quản lý nhà trọ trên điện thoại Android IOS (tech-buzz.net)

http://tech-buzz.net/10-app-phan-mem-quan-ly-nha-tro-tren-di-dong/

[2] Ngôn ngữ C++ là gì? Dùng làm gì trong công nghệ thông tin? (freetuts.net)

https://freetuts.net/c++-la-gi-hoc-c++-nhu-the-nao-554.html

[3] TS.Lê Thị Mỹ Hạnh, OOP(3-8),05/09/2021.

Ngày đăng: 03/07/2023, 15:28

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w