bus-reservation-system-cpp
bus-reservation-system-cpp copied to clipboard
This repository contains the Bus Reservation System Management project developed using Object Oriented Programming (OOP) and File Handling concepts in C++.
Bus Reservation System Management with OOP and File Handling in C++
This repository contains the Bus Reservation System Management project developed using Object Oriented Programming (OOP) and File Handling concepts in C++.
Table of Contents
- Bus Reservation System Management with OOP and File Handling in C++
- Table of Contents
- Features
- Sceenshots
- Getting Started
- Prerequisites
- Installation
- Compilation
- Running the Application
- Admin Credentials
- File Structure
- Classes and Methods
- Bus Class
- Reservation Class
- File Handling
- How to Use
- Contributing
- License
- Sponsor Me
- Connect With Me
- Activities
Features
- Bus Management: Add, view, and remove bus details.
- Reservation System: Book, view, and cancel reservations.
- File Handling: Persist bus and reservation data using file handling techniques.
- User Interface: Command-line based user interface for interacting with the system.
Sceenshots
- Welcome Screen

- Main Menu

- User Menu

- Book Ticket

- Admin Menu

- Bus List

Getting Started
To get started with the development or usage of this project, follow the instructions below:
Prerequisites
- A C++ compiler (such as g++, clang++)
- A suitable development environment (such as Visual Studio, Code::Blocks, or a text editor with command line tools)
Installation
-
Clone this repository to your local machine:
git clone https://github.com/nixrajput/bus-reservation-system-cpp.git -
Navigate into the cloned repository directory:
cd bus-reservation-system-cpp
Compilation
To compile the project, you can use the following command in the terminal:
g++ -o BusReservationSystem main.cpp Bus.cpp Reservation.cpp
#or
clang++ main.cpp -o BusReservationSystem.exe
This command assumes you have main.cpp, Bus.cpp, and Reservation.cpp files. Modify it according to your actual file names.
Running the Application
After successfully compiling the project, you can run the application using the command:
./BusReservationSystem
Admin Credentials
Username : admin
Password : pass
File Structure
The project directory typically contains the following files:
main.cpp: The main entry point of the application.Bus.handBus.cpp: Bus class definition and implementation.Reservation.handReservation.cpp: Reservation class definition and implementation.data/: A directory containing data files for buses and reservations.utils.h: A file contains required utility functions.
Classes and Methods
Bus Class
This class manages bus details and includes the following methods:
void addBus(): Adds a new bus.void displayBuses(): Displays all buses.void removeBus(): Removes a bus by ID.
Reservation Class
This class manages reservations and includes the following methods:
void bookTicket(): Books a new ticket.void viewReservations(): Displays all reservations.void cancelReservation(): Cancels a reservation by ID.
File Handling
Data persistence is achieved using file handling concepts. The bus and reservation data are stored in separate files within the data/ directory.
How to Use
- Add a Bus: Select the option to add a bus and enter the required details.
- View Buses: Select the option to view all available buses.
- Remove a Bus: Select the option to remove a bus and provide the bus ID.
- Book a Ticket: Select the option to book a ticket and enter the required details.
- View Reservations: Select the option to view all reservations.
- Cancel a Reservation: Select the option to cancel a reservation and provide the reservation ID.
Contributing
If you would like to contribute to this project, feel free to fork the repository, make your changes, and submit a pull request. Please follow the guidelines in the CONTRIBUTING.md file.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Sponsor Me
By sponsoring my efforts, you're not merely contributing to the development of my projects; you're investing in its growth and sustainability.
Your support empowers me to dedicate more time and resources to improving the project's features, addressing issues, and ensuring its continued relevance in the rapidly evolving landscape of technology.
Your sponsorship directly fuels innovation, fosters a vibrant community, and helps maintain the project's high standards of quality. Together, we can shape the future of the projects and make a lasting impact in the open-source community.
Thank you for considering sponsoring my work!
