This project is a simple console-based Car Rental System developed in C++, simulating the features of a real-life car rental service. The system allows users to:
- Sign up and log in
- View available cars and their features
- Book a car for a specified number of days
- Generate invoices
- Manage and add account balance
- View booking history
- Return rented cars
The system is implemented using object-oriented programming (OOP) principles and makes use of basic file handling to store data persistently.
- 🔐 User Authentication (Sign Up / Log In)
- 🚘 View car catalog with model, rent price, reviews
- 📅 Select rental days and book a car
- 🧾 Generate invoice/bill for the booking
- 💰 Balance management (add balance, deduct on booking)
- 🕓 View full booking history
- 🔁 Return a car and delete booking from history
- 🗃️ File handling using text files for data persistence
- Object-Oriented Programming: Use of classes and objects, encapsulation
- File Handling: Use of
fstreamfor reading/writing files - CLI Application Design: Menu-driven interface
- Logic Building: Workflow simulation based on real car rental systems
- Debugging and Problem Solving: Identifying and resolving errors during development
- Designing real-life systems using C++
- Structuring a project with multiple responsibilities using OOP
- Storing and retrieving data using file streams
- Building user workflows through logical flowcharts
- Planning and documenting software projects effectively
car-rental-system-cpp/
├── main.cpp
├── Overview.jpg # System flowchart
├── README.md
- Clone the repository:
git clone https://github.com/your-username/car-rental-system-cpp.git
- Compile the code using a C++ compiler (like g++):
g++ main.cpp -o car_rental
- Run the program:
./car_rental
- Add GUI using libraries like Qt or SFML
- Store data using SQLite or MySQL instead of text files
- Secure login system with encrypted passwords
- Admin panel to manage cars, users, and transactions
- Better error handling and user feedback system
Refer to the image Overview.jpg included in the repository for a visual representation of the system’s flow and features.
Zaheer Abbas
⭐ If you found this project helpful, feel free to give it a star and share it!