SkyNav is a C++ console-based flight navigation system that helps users find flight routes between cities. It provides multiple search modes, including:
- β All possible paths between two cities
- π Shortest route by total travel time
- πΈ Cheapest route by ticket cost
- π― Filtered routes based on:
- Airline
- Date
- Transit city
main.cppβ Core application logic (graph structure, file reading, route search)Flights.txtβ Contains all flight details (origin, destination, time, price, airline)HotelCharges_perday.txtβ Contains hotel rent per city
- Find all possible routes between any two cities.
- Find the shortest route based on total flying time (via Dijkstraβs algorithm).
- Find the cheapest route based on ticket cost (via Dijkstraβs algorithm).
- Filter routes by:
- Specific airline
- Specific date
- Required transit city
- C++ compiler (e.g., MSVC, g++, clang++)
- Console / Terminal
g++ main.cpp -o skynav
./skynavOr on Windows with MSVC:
cl main.cpp
main.exeOrigin Destination TravelDate FlyingTime LandingTime TicketPrice Airline
Example:
Karachi Lahore 01/01/2025 09:00 10:45 150 AirBlue
CityName HotelRent
Example:
Karachi 5000
Lahore 4000
The application presents a simple CLI menu:
1. CHECK ALL PATHS
2. SHORTEST ROUTE FINDER
3. CHEAPEST ROUTE FINDER
4. PREFERRED TRAVELS (DATES, AIRLINES, TRANSIT CITY)
Follow the prompts to input your origin, destination, and any additional preferences.
- Graph (Adjacency List) β To store cities and flights
- DFS β For exploring all paths
- Dijkstraβs Algorithm β For shortest/cheapest path
- Custom Stack and MinHeap β For efficient traversal
Feel free to suggest improvements or request additional features (e.g., layover time, GUI)!