Skip to content

A C++ console application for managing flights, customers, planes, tickets, and offers using OOP and dynamic data structures with file-based data storage.

Notifications You must be signed in to change notification settings

ayeshayyyy/Flight-Management-System

Repository files navigation

✈️ Flight Management System

📄 Description

The Flight Management System is a C++ application designed to handle comprehensive airline operations, including airport management, flight schedules, plane configurations, customer reservations, ticketing, waiting lists, and discount offers.

It utilizes object-oriented programming concepts such as classes, inheritance, dynamic memory, and data structures (linked lists, binary search trees, and arrays) to manage data efficiently and simulate a real-world flight reservation system.


⚙️ Features

  • Add, update, and delete customers
  • Manage airports, flights, and planes
  • Reserve, cancel, or change flight bookings
  • Handle ticket generation, pricing (by class), and discounts
  • Manage passenger trees and waiting lists
  • Load and save system data using file I/O
  • Offer automatic seat allocation and seat availability checking
  • View customer profiles and travel statistics

🧱 Project Structure

The project consists of the following main components:

| Component | Description |

| Airport | Represents an airport with relevant details like name, country, weather, and distance to Beirut |

| Plane | Manages plane-specific data like seat configuration and mileage |

| Flight | Stores flight details, passengers (BST), and waiting list (linked list) |

| Customer | Represents customer profiles with history and mileage tracking |

| Ticket | Contains booking details, costs, seat info, and discount status |

| Offer | Encapsulates offers like miles-based or flight-count-based discounts |

| AirlineSystem | Core engine integrating all components and orchestrating user interaction |


📂 File Management

The following files are used for persistent storage:

  • airports.txt
  • planes.txt
  • flights.txt
  • customers.txt
  • offers.txt
  • tickets.txt
  • passengers.txt
  • waitinglists.txt

🚀 How to Run

  1. Compile using a C++ compiler (e.g., g++, clang++)
  2. Ensure all the required .txt data files are in the same directory
  3. Run the executable
  4. Follow the interactive console menu to manage the airline system

🔐 Technologies Used

  • C++ (OOP)
  • File I/O streams (fstream)
  • Data structures (linked lists, BSTs, arrays)
  • Dynamic memory allocation
  • Custom parsing of input text data

🛠️ Future Enhancements

  • GUI Interface using Qt or SFML
  • Integration with a database (e.g., SQLite or MySQL)
  • Online booking system with web backend (e.g., Django or Node.js)
  • Real-time flight status and check-in functionality
  • QR code or e-ticket generation
  • Role-based access for admins and users
  • Enhanced error handling and validation
  • Unit tests and CI integration

👨‍💻 Author

Ayesha Younas FAST-NU Lahore | BSCS 2023


Collaboration Guidelines

We welcome contributions from the open-source community. If you'd like to collaborate on this project, please adhere to the following guidelines:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Implement your changes and commit them with descriptive messages.
  4. Push your branch to your fork and submit a pull request.

Feel free to reach out if you have any questions or suggestions!

About

A C++ console application for managing flights, customers, planes, tickets, and offers using OOP and dynamic data structures with file-based data storage.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy