Car Rental Management System
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
class Person
{
protected:
string name;
string mobile;
string aadhar;
public:
virtual void getDetails()
{
[Link]();
cout << "Enter Name: ";
getline(cin, name);
cout << "Enter Mobile Number: ";
getline(cin, mobile);
cout << "Enter Aadhar Number: ";
getline(cin, aadhar);
}
virtual void displayPerson()
{
cout << "\nName: " << name;
cout << "\nMobile Number: " << mobile;
cout << "\nAadhar Number: " << aadhar;
}
};
class Vehicle
{
protected:
string vehicleType;
string vehicleModel;
string vehicleNumber;
float pricePerKm;
int mileage;
public:
Vehicle() {}
void getVehicleDetails()
{
cout << "\nEnter Vehicle Type (Car/Bike): ";
cin >> vehicleType;
[Link]();
cout << "Enter Vehicle Model Name: ";
getline(cin, vehicleModel);
cout << "Enter Vehicle Number: ";
getline(cin, vehicleNumber);
cout << "Enter Price Per KM: ";
cin >> pricePerKm;
cout << "Enter Mileage: ";
cin >> mileage;
}
void displayVehicle()
{
cout << "\nVehicle Type: " << vehicleType;
cout << "\nVehicle Model: " << vehicleModel;
cout << "\nVehicle Number: " << vehicleNumber;
cout << "\nMileage: " << mileage << " kmpl";
cout << "\nPrice Per KM: Rs." << pricePerKm;
}
};
class Merchant : public Person, public Vehicle
{
public:
void merchantRegistration()
{
cout << "\n========== MERCHANT REGISTRATION ==========\n";
getDetails();
cout << "\nVerification Successful...\n";
int totalVehicles;
cout << "\nHow Many Vehicles You Want To Add: ";
cin >> totalVehicles;
for(int i = 1; i <= totalVehicles; i++)
{
cout << "\nEnter Details Of Vehicle " << i << endl;
getVehicleDetails();
cout << "\nVehicle Registration Completed Successfully.\n";
}
}
};
class Driver : public Person, public Vehicle
{
public:
void driverRegistration()
{
cout << "\n========== DRIVER REGISTRATION ==========\n";
getDetails();
cout << "\nRegistration Successful...\n";
getVehicleDetails();
cout << "\nCongratulations!";
cout << "\nDriver Registration Completed Successfully.\n";
}
};
class Customer : public Person
{
protected:
string gender;
string pickupPoint;
string dropPoint;
string pickupTime;
float totalDistance;
public:
void customerBooking()
{
cout << "\n========== CUSTOMER BOOKING ==========\n";
[Link]();
cout << "Enter Name: ";
getline(cin, name);
cout << "Enter Mobile Number: ";
getline(cin, mobile);
cout << "Enter Gender: ";
getline(cin, gender);
if(gender == "Female" || gender == "female")
{
cout << "\n===== WOMEN SAFETY FEATURES ENABLED =====\n";
cout << "1. SOS Emergency Button\n";
cout << "2. Live Location Sharing\n";
cout << "3. Trusted Driver Ride\n";
cout << "4. Emergency Contact Alert\n";
}
cout << "\nEnter Pickup Point: ";
getline(cin, pickupPoint);
cout << "Enter Drop Point: ";
getline(cin, dropPoint);
cout << "Enter Pickup Time (07:12 AM): ";
getline(cin, pickupTime);
cout << "Enter Total Distance To Travel (KM): ";
cin >> totalDistance;
}
float getDistance()
{
return totalDistance;
}
void displayCustomerDetails()
{
cout << "\nCustomer Name: " << name;
cout << "\nMobile Number: " << mobile;
cout << "\nPickup Point: " << pickupPoint;
cout << "\nDrop Point: " << dropPoint;
cout << "\nPickup Time: " << pickupTime;
cout << "\nTotal Distance: " << totalDistance << " KM";
}
};
class Booking
{
public:
float calculateFare(float distance, float price)
{
return distance * price;
}
void showCars(float distance)
{
cout << "\n============= AVAILABLE CARS =============\n";
cout << "\n1. Driver: Rahul";
cout << "\n Contact: 9876543210";
cout << "\n Car: Swift Dzire";
cout << "\n Vehicle No: MH12AB1234";
cout << "\n Mileage: 22 kmpl";
cout << "\n Price Per KM: Rs.20";
cout << "\n Total Fare: Rs." << calculateFare(distance,20);
cout << "\n\n2. Driver: Aman";
cout << "\n Contact: 9876543222";
cout << "\n Car: Hyundai i20";
cout << "\n Vehicle No: MH14XY4321";
cout << "\n Mileage: 18 kmpl";
cout << "\n Price Per KM: Rs.18";
cout << "\n Total Fare: Rs." << calculateFare(distance,18);
}
void showBikes(float distance)
{
cout << "\n============= AVAILABLE BIKES =============\n";
cout << "\n1. Driver: Ravi";
cout << "\n Contact: 9000000001";
cout << "\n Bike: Activa 6G";
cout << "\n Vehicle No: MH12BK1111";
cout << "\n Mileage: 55 kmpl";
cout << "\n Price Per KM: Rs.10";
cout << "\n Total Fare: Rs." << calculateFare(distance,10);
cout << "\n\n2. Driver: Ajay";
cout << "\n Contact: 9000000002";
cout << "\n Bike: Pulsar 220";
cout << "\n Vehicle No: MH12BK2222";
cout << "\n Mileage: 40 kmpl";
cout << "\n Price Per KM: Rs.12";
cout << "\n Total Fare: Rs." << calculateFare(distance,12);
}
};
class Payment
{
public:
void paymentMode()
{
int choice;
cout << "\n========== PAYMENT OPTIONS ==========\n";
cout << "1. UPI\n";
cout << "2. Cash\n";
cout << "3. Debit/Credit Card\n";
cout << "\nSelect Payment Mode: ";
cin >> choice;
cout << "\nPayment Successful...\n";
}
};
int main() {
int mainChoice;
cout << "==========================================\n";
cout << " CAR RENTAL MANAGEMENT SYSTEM\n";
cout << "==========================================\n";
cout << "\n1. Merchant";
cout << "\n2. Driver";
cout << "\n3. Customer";
cout << "\n\nEnter Your Choice: ";
cin >> mainChoice;
if(mainChoice == 1)
{
Merchant m;
[Link]();
}
else if(mainChoice == 2)
{
Driver d;
[Link]();
}
else if(mainChoice == 3)
{
Customer c;
Booking b;
Payment p;
[Link]();
int vehicleTypeChoice;
cout << "\nSelect Vehicle Type";
cout << "\n1. Car";
cout << "\n2. Bike";
cout << "\n\nEnter Choice: ";
cin >> vehicleTypeChoice;
if(vehicleTypeChoice == 1)
{
[Link]([Link]());
}
else
{
[Link]([Link]());
}
int selectedVehicle = 0;
cout << "\n\nSelect Vehicle Number: ";
[Link]();
[Link](1000, '\n');
cin >> selectedVehicle;
if(selectedVehicle < 1 || selectedVehicle > 10)
{
cout << "\nInvalid Vehicle Selection.";
return 0;
}
cout << "\nVehicle " << selectedVehicle << " Selected Successfully.";
cout << "\n========== BOOKING DETAILS ==========\n";
[Link]();
float finalFare = 0;
if(vehicleTypeChoice == 1)
{
if(selectedVehicle == 1) finalFare = [Link]([Link](),20);
else if(selectedVehicle == 2) finalFare = [Link]([Link](),18);
}
else
{
if(selectedVehicle == 1) finalFare = [Link]([Link](),10);
else if(selectedVehicle == 2) finalFare = [Link]([Link](),12);
}
cout << "\nTotal Fare: Rs." << finalFare;
char confirm;
cout << "\n\nConfirm Booking? (Y/N): ";
cin >> ws;
cin >> confirm;
if(confirm == 'Y' || confirm == 'y')
{
[Link]();
cout << "\n======================================";
cout << "\nCongratulations!";
cout << "\nYour Ride Is Confirmed Successfully.";
cout << "\nDriver Will Reach Soon.";
cout << "\n======================================\n";
}
else
{
cout << "\nBooking Cancelled.";
}
}
else
{
cout << "\nInvalid Choice!";
}
return 0;
}
MERCHANT REGISTRATION 1/5
DRIVER REGISTRATION 2/5
CUSTOMER BOOKING 3/5
AVAILABLE CARS SELECTION 4/5
BOOKING DETAILS & PAYMENT 5/5