Presentation For Thinker
Presentation For Thinker
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.
• 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.
➢ Remove a Car:
Admin can remove a car from existing cars database.
➢ Remove a Customer:
Admin can remove a customer from existing customers 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 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 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.