0% found this document useful (0 votes)
38 views7 pages

Presentation For Thinker

This document provides documentation for a car rental management system project implemented in C++. It describes the user interface, system features for both customers and administrators, and details of functions created to handle tasks like login, renting and returning cars, generating reports, and more.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views7 pages

Presentation For Thinker

This document provides documentation for a car rental management system project implemented in C++. It describes the user interface, system features for both customers and administrators, and details of functions created to handle tasks like login, renting and returning cars, generating reports, and more.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

PF Project

“Car rental ManageMent SySteM”

Documentation

Name:
Muhammad Rizwan
Roll No:
2023-SE-32
Course Name:
Programming Fundamentals (PF)
Submitted To:
Sir Shehzad Asif
Overview:
This is the documentation of the Project “Car Rental Management System”.
This software application designed to facilitate the management of car rental services.
The system typically includes functionalities such as customer registration, car inventory
management, reservation processing, billing, and reporting. Below is a basic overview of
the documentation structure for a Car Rental Management System implemented in
C++Language. This Software will facilitate the customer in renting and returning car and
other functionalities while admin can oversee and manage the whole system using his
authority.

User Interface:
The User and Admin is given a basic console Interface which can be
used easily. The interface initially gives the choices of whether you want to login or exit
the program and then other functionalities are presented to user as he or she logs in. After
logging in one can choose from his authority what action to do or they can log out.

System Features:
Logs The features and functionalities in the system are
divided into two parts. One for admin and other for customer.

➢ Features for Customer:


• Rent a Car:
Customer can get the existing available cars ang choose any one from these
cars that which car they want to rent and a Receipt will be generated according to for how
long they want to rent.

• Return a Car:
Customer can Return the car that they have rented before from their own
ID.
• View Available Cars:
Customer can view the cars that are currently available for Renting.

• View Rental Report:


Customer can view their own history of rental reports that which car they
have rented and when it was returned with the cost occurred.

➢ Features for Admin:


➢ Change Password:
Admin can change the Password of his own ID.

➢ View Currently Registered Cars:


Admin can view all cars that are currently registered in the database of all
cars data.

➢ View Currently Registered Customers:


Admin can view all customers that are currently registered in the database
of all customers data.

➢ Add a New Car:


Admin can add a new car in existing cars database.

➢ Remove a Car:
Admin can remove a car from existing cars database.

➢ Add a New Customer:


Admin can add a new customer in existing customers database.

➢ Remove a Customer:
Admin can remove a customer from existing customers database.

➢ Update Customer Date:


Admin can change the data of a customer existing database.

➢ Check Reports:
Admin can check reports related to cars and customer.
Details of all Functions Created

void Car_rental_SySteM()
This function represents the main entry point of the car rental system. It performs the
following tasks:

Reads customer data from the "custdata.txt" file and populates an array of customer
structures.
Reads car data from the "cardata.txt" file and populates an array of car structures.
Displays a menu allowing the user to log in as an admin or a customer.
Calls either the admin_function or customer_function based on the user's choice.
After user interactions, it writes the updated car and customer data back to their respective
files.
bool adMin_login()
This function handles the login process for administrators. It reads the administrator's ID and
password from the "admin.txt" file and compares them with the user input. If the credentials
are valid, the function returns true; otherwise, it prompts the user to enter the correct
information.

void ChoiCe_for_adMin()
This function prints the menu options available to the admin, providing various
functionalities such as changing passwords, viewing registered cars, managing customers and
cars, and generating reports.

void Change_paSSword_of_adMin()
This function allows the admin to change their password. It reads the current admin ID from
the "admin.txt" file, takes a new password as input, and updates the password in the file.

void view_regiStered_CarS(Car* Car_info, int


no_of_CarS)
This function displays information about registered cars. It separates available cars from
rented ones and presents details such as company, number plate, model, rental price, status,
and related statistics.
void view_regiStered_CuStoMerS(CuStoMer*
CuStoMer_info, int no_of_CuStoMerS)
This function displays information about registered customers, including their names,
usernames, passwords, addresses, and phone numbers. It prints the data in a formatted table.

void add_CuStoMerS(CuStoMer* &CuStoMer_info, int


&no_of_CuStoMerS)
This function allows the addition of new customers to the system. It prompts the user to input
the number of customers to add and then gathers information such as name, username,
password, address, and phone number for each new customer. It ensures that the username is
unique before adding the customer to the system.

void reMove_CuStoMerS(CuStoMer* &CuStoMer_info, int


&no_of_CuStoMerS)
This function facilitates the removal of customers from the system. The user is prompted to
enter the username of the customer to be removed. If the username is found, the
corresponding customer is removed from the array.

void add_CarS(Car* &Car_info, int &no_of_CarS)


This function allows the addition of new cars to the system. It prompts the user to input the
number of cars to add and then collects information such as the company name, number plate,
model, and rent for each new car. It ensures that the number plate is unique before adding the
car to the system. The status, repair, and rental statistics for the new cars are initialized.
void reMove_CarS(Car* &Car_info, int &no_of_CarS)
This function allows the removal of cars from the system. The user is prompted to enter the
number plate of the car to be removed. If the specified car is available, it is removed from the
array of cars.

void CheCk_reportS_for_CuStoMerS_and_Car(CuStoMer*
CuStoMer_info, int no_of_CuStoMerS, Car* Car_info, int
no_of_CarS)
This function provides options for generating and viewing reports, including customer reports
and car inventory reports. It calls other functions (customer_report and inventory_report) to
display specific information based on the user's choice.

void update_CuStoMer_data(CuStoMer* CuStoMer_info,


int no_of_CuStoMerS)
This function allows the update of customer data, including the name, address, and phone
number. The user is prompted to enter the username of the customer whose data needs to be
updated.

void adMin_funCtion(CuStoMer* &CuStoMer_info, int


&no_of_CuStoMerS, Car* &Car_info, int &no_of_CarS)
This function represents the main functionality for the admin user. It includes a loop allowing
the admin to perform various actions such as changing passwords, viewing registered cars
and customers, adding/removing customers and cars, checking reports, and updating
customer data.
void view_available_CarS(Car* Car_info, int
no_of_CarS)
This function displays information about available cars, including company name, number
plate, model, and rental price.

void inventory_report(Car* Car_info, int no_of_CarS)


This function generates a comprehensive inventory report that includes information about the
condition of all cars, maintenance reports (number of times each car got repaired), vehicle
utilization reports (number of times each car got rented), and the total income generated by
each car.
bool CuStoMer_login(CuStoMer* CuStoMer_info, int
no_of_CuStoMerS, String& CuSt_naMe)
This function handles customer login functionality. It prompts the user for a username and
password, validates the credentials against the stored customer information, and returns a
boolean indicating successful login. The customer's username is also passed by reference.

void ChoiCe_for_CuStoMer()
This function displays a menu of options for customers, providing choices related to renting
cars, returning cars, viewing available cars, generating rental reports, and exiting the
program.

void rent_CarS(CuStoMer* CuStoMer_info, int


no_of_CuStoMerS, Car* &Car_info, int no_of_CarS, String
CuSt_naMe)
Handles the process of renting cars for customers. It displays available cars, prompts the
customer for a choice, and updates the system data accordingly. It also generates a rental
report for the customer.

void return_CarS(Car* &Car_info, int no_of_CarS, String


CuSt_naMe)
Manages the return process of rented cars. It prompts the customer for the number plate of the
car to return, updates system data, and generates a corresponding report.

void CuStoMer_report(String CuSt_naMe)


Displays a detailed rental report for a specific customer, showing information such as the
customer's name, username, phone number, address, rented car details (company, number
plate, model, total rent, and status).
void CuStoMer_funCtion(CuStoMer* CuStoMer_info, int
&no_of_CuStoMerS, Car*& Car_info, int &no_of_CarS,
String &CuSt_naMe)
This is the main function for customer interactions. It first attempts to log in the customer,
and upon successful login, it enters a loop to display a menu of options for customers,
allowing them to perform various actions.

void write_Car_info(Car* Car_info, int no_of_CarS)


Writes car information to the "cardata.txt" file, including details like the number plate,
company, model, rent, status, repair status, number of times rented, number of times repaired,
and total profit.

void write_CuStoMer_info(CuStoMer* CuStoMer_info, int


no_of_CuStoMerS)
Writes customer information to the "custdata.txt" file, including details like username, name,
password, address, and phone number.

You might also like