MỞ ĐẦU Xã hội hiện nay đang trong thời kỳ phát triển, là kỷ nguyên chuyển đổi số từ 4.0, một nền kinh tế kỹ thuật số hiện đại. Sự phát triển của khoa học kỹ thuật mang đến nhiều giải pháp giúp đáp ứng hầu hết nhu cầu của con người , cuộc sống của con người trở nên tiện nghi hơn. Cùng với sự phát triển mạnh mẽ của khoa học công nghệ, nhu cầu của con người ngày mọt tăng mà không giảm từ đủ ăn đủ mặc đến ăn ngon mặc đẹp tiếp đó là ăn sang mặc sướng, nhu cầu ngày mỗi tăng ấy đã sản sinh ra nhu cầu quản lý cũng ngày càng mở rộng và trở nên phức tạp hơn. Công nghệ thông tin trở thành công cụ đắc lực, tạo nền tảng cho việc phát triển các phần mềm quản lý hiểu quả, giúp tối ưu hóa quy trình và cải thiện hiệu suất làm việc.
Trong bối cảnh đó, cùng với sự xuất hiện của các của hàng cho thuê mượn xe ngày càng nhiều sản sinh nhu cầu quản lý xe cho thuê. Phần mềm quản lý cho thuê xe ra đời với mục đích hỗ trợ việc theo dõi và vận hành các hoạt động cho thuê xe một cách hiệu quả. Từ quản lý thông tin các phương tiện cho thuê, khách hàng đến xử lý hóa đơn, phần mềm mang lại giải pháp toàn diện, giúp người quản lý tiết kiệm thời gian và tăng tính chính xác trong công tác quản lý. Ứng dụng quản lý cho thuê xe là một sản phẩm được xây dựng với mong muốn đưa ra giải pháp thiết thực và hiệu quả trong lĩnh vực quản lý.
Dự án này là lần thứ hai của chúng em trong hành trình khám phá và ứng dụng công nghệ thông tin, được xây dựng một cách đơn giản đúc kết từ những kiến thức các thầy cô dạy trên lớp và tìm hiểu trên các nguồn tài liệu học tập. Trong đó có điều gì chưa được mong quý thầy cô góp ý để chúng em sửa lỗi và tiếp tục học hỏi phát triển các dự án trong tương lai. 1 Đồ án cơ sở lập trình 1. TỔNG QUAN ĐỀ TÀI 1.1 Giới thiệu Ngày nay công nghệ kỹ thuật ngày càng hiện đại, nhu cầu của con người ngày càng tăng, trong đó nhu cầu quản lý của con người được chú ý đến nhất.
Trên đường phố xuất hiện ngày càng nhiều cửa hàng cho thuê xe, sản sinh ra nhu cầu quản lý các phương tiện, khách hàng và hóa đơn của họ xuất hiện. Chương trình quản lý cho thuê xe là một chương trình vận dụng công nghệ thông tin và phát triển phần mềm vào quản lý. Dự án ứng dụng cho thuê xe là một chương trình thiết kế giúp nhà quản lý quản lý các phương tiện khách hàng của họ một cách thuận tiện, đơn giản và hiệu quả.2 Mục đích Tạo ra một chương trình giúp người quản lý quản lý dịch vụ cho thuê xe với giao diện đơn giản, các chức năng cơ bản sử dụng dễ dàng thuận tiện, tiết kiệm thời gian, đáp ứng đủ nhu cầu liên quan đến dịch vụ cho thuê xe. Chương trình được viết ra sủa dụng cấu trúc dữ liệu và thuật toán đơn giản, giao diện giản đơn đáp ứng đủ các chức năng.
Cụ thể bao gồm : + Xây dưng giao diện chương tình một cách đơn giản dễ nhìn. + Cho phép quản lý phương tiện cho thuê, quản lý khách hàng, quản lý hóa đơn xử lý một cách dễ dàng. + Cung cấp đủ các chức năng cần thiết như thêm, xóa và tìm phương tiện, hóa đơn, khách hàng. + Cho phép in danh sách xe, khách hàng, hóa đơn ra.
+ cho phép lưu danh sách vào file để dễ dàng di chuyển thuận tiện hơn. + Cho phép nhập dữ liệu có sẵn từ file.3 Ứng dụng Chương trình tạo ra giúp người quản lý quản lý các phương tiện cho thuê, khách hàng và danh sách hóa đơn một cách thuận tiện dễ dàng. Đáp ứng nhu cầu quản lý của cửa hàng, cung cấp các chức năng đầy đủ của một chương trình quản lý. Hỗ trợ trực tiếp quá trình quản lý của các cửa hàng, xử lý những thiết sót trong quá trình quản lý.
Phạm Xuân Bắc – Phan Long Chức 1 Đồ án cơ sở lập trình 2. PHÂN TÍCH CHỨC NĂNG HỆ THỐNG 2. Sơ đồ phân rã chức năng Hình 1. Sơ đồ phân rã chức năng 2.
Chức năng chính của hệ thống 2.1 Quản lý xe cho thuê - Thêm xe : Chương trình cung cấp chức năng thêm xe. Có hai loại xe có thể thêm xe máy và xe ô tô. Các thông tin cần thêm : + Biển số xe. Phạm Xuân Bắc – Phan Long Chức 2 Đồ án cơ sở lập trình + Trạng thái xe.
+ Dung tích xe đối với xe máy. + Số chỗ ngồi đối với xe ô tô. - Xem danh sách xe : Cung cấp 1 bảng gồm các xe và thông tin của các xe đó. - Xóa xe : Cung cấp chức năng xóa xe khỏi danh sách xe cần xóa thông qua biển số xe.
- Tìm xe : Cung cấp chức năng tìm kiếm xe theo biển số và in thông tin của xe đó ra.2 Quản lý khách hàng - Thêm khách hàng : Chương trình cung cấp chức năng thêm khách hàng đang thuê xe. - Các thông tin cần thêm : + Số lượng khách hàng cần thêm. + Số căn cước công dân. + Họ và tên khách hàng.
+ Số điện thoại khách hàng. - Xem danh sách khách hàng : Cung cấp 1 bảng gồm tất cả các khách hàng đang thuê xe và thông tin cần thiết của họ. - Xóa khách hàng : Cung cấp chức năng xóa khách hàng ra khỏi danh sách thông qua số căn cước công dân của khách hàng cần xóa. - Tìm kiếm khách hàng : Cung cấp chức năng tìm kiếm khách hàng theo mã cccd của khách hàng đó.3 Quản lý danh sách hóa đơn - Tạo hóa đơn : Chương trình cung cấp chức năng tạo hóa đơn Các thông tin cần thiết : Phạm Xuân Bắc – Phan Long Chức 3 Đồ án cơ sở lập trình + Mã hóa đơn.
+ Mã căn cước công dân khách hàng. + Giờ bắt đầu. + Giờ kết thúc. - Xem danh sách hóa đơn : Cung cấp một bảng gồm tất cả các hóa đơn và thông tin của các hóa đơn đó.
- Tìm hóa đơn : Cung cấp chức năng tìm kiếm hóa đơn theo ngày bắt đầu thuê xe.4 Xuất/ Nhập File - Xuất file : Tất cả các thông tin vừa được thêm hoặc chỉnh sửa vào file chính “list. - Nhập file : Thu thập các thông tin về danh sách xe, danh sách khách hàng, danh sách hóa đơn từ file “list.txt” vào chương trình đang chạy để chỉnh sửa các thông tin. THIẾT KẾ CẤU TRÚC DỮ LIỆU 3. Phát biểu bài toán - Đầu vào (Input) : + Thông tin admin hoặc sử dụng file đã có.
+ Danh sách xe cho thuê, danh sách thông tin khách hàng, danh sách hóa đơn hiện tại. - Đầu ra (Output) : + Xử lý các yêu cầu của nhà quản lý. + Hiển thị các chức năng ra màn hình. + Các dữ liệu sau khi thêm hoặc thay đổi được nhập vào file.
Phạm Xuân Bắc – Phan Long Chức 4 Đồ án cơ sở lập trình 3. Phân tích và ứng dụng cấu trúc dữ liệu trong hệ thống 3.1 Phân tích cấu trúc dữ liệu : Vector là một cấu trúc dữ liệu dạng mảng động, cung cấp cơ sở lưu trữ, quản lý dữ liệu linh hoạt và nó có thể tự động mở rộng trong những trường hợp cấp thiết. Vector trong C++ có một số điểm gồm : + Vector cho phép thêm phần tử vào cuối mảng và xóa phần tử từ cuối mảng một cách hiệu quả. + Vector cho phép truy cập các phần tử trong mảng thông qua chỉ số, cho phép truy cập ngẫu nhiên.
+ Vector có khả năng tự động điều chỉnh kích thước khi cần thiết, tự động tăng kích thước khi thêm phần tử mới vào và tự động giảm kích thước khi xóa phần tử ra khỏi vector. Một số hàm của Vector trong C++ : 1. push_back(): Hàm đẩy một phần tử vào vị trí sau cùng của vector. Nếu kiểu của đối tượng được truyền dưới dạng tham số trong push_back() không giống với kiểu của vector thì sẽ bị ném ra.
assign(): Nó gán một giá trị mới cho các phần tử vector bằng cách thay thế các giá trị cũ. pop_back(): Hàm pop_back () được sử dụng để xóa đi phần tử cuối cùng một vector. insert(): Hàm này chèn các phần tử mới vào trước phần tử trước vị trí được trỏ bởi vòng lặp. Chúng ta cũng có thể chuyển một số đối số thứ ba, đếm số lần phần tử được chèn vào trước vị trí được trỏ.
erase(): Hàm được sử dụng để xóa các phần tử tùy theo vị trí vùng chứa 6. emplace(): Nó mở rộng vùng chứa bằng cách chèn phần tử mới vào 7. emplace_back(): Nó được sử dụng để chèn một phần tử mới vào vùng chứa vectơ, phần tử mới sẽ được thêm vào cuối vector 8. swap(): Hàm được sử dụng để hoán đổi nội dung của một vector này với một vectơ khác cùng kiểu.
Kích thước có thể khác nhau. clear(): Hàm được sử dụng để loại bỏ tất cả các phần tử của vùng chứa vector. Phạm Xuân Bắc – Phan Long Chức 5 Đồ án cơ sở lập trình Hình 2.2 Ứng dụng cấu trúc dữ liệu trong hệ thống Dự án đã sử dụng cấu trúc teamplate Vector để quản lý dữ liệu một cách hiệu quả và linh hoạt. Template Vector được triển khai dưới dạng danh sách liên kết đôi, cho phép chèn, xóa và truy cập các phần tử một cách dễ dàng.
Dưới đây là cách Vector được ứng dụng trong các file của dự án: 1.cpp: Định nghĩa template Vector để quản lý danh sách liên kết đôi. Vector chứa các Node với con trỏ prev và next để trỏ đến các Node trước và sau, giúp dễ dàng chèn và xóa các phần tử.cpp: Class QuanLi sử dụng Vector để lưu trữ danh sách khách hàng (danhsachKhachhang), danh sách xe (danhsachXe) và danh sách hóa đơn (danhsachHoadon). Các phương thức như themkhachhang, themxemay, themxeoto, hienthixe, và hienthihoadon đều thao tác trên các đối tượng Vector.cpp: Class Hoadon quản lý thông tin hóa đơn và được lưu trữ trong Vector của class QuanLi. Các hóa đơn được thêm vào, tìm kiếm và hiển thị thông qua Vector.cpp: Class XeOto quản lý thông tin xe ô tô và các đối tượng XeOto được lưu trữ trong Vector của class QuanLi.
Các phương thức như inthongtin và tinhgiathue thao tác trên các đối tượng XeOto trong Vector. Phạm Xuân Bắc – Phan Long Chức 6 Đồ án cơ sở lập trình 5.cpp: Chứa hàm main để thực hiện các chức năng chính của chương trình.