C Bus Booking System
C Bus Booking System
PROJECT BY:
• The main objective of this project is to create a C++ console application for efficient bus
booking, enabling users to view routes, check seat availability, book, and cancel tickets with
real-time updates. This reduces manual errors and simplifies the booking process.
regex phoneRegex("\\d{10}");
if (!regex_match(phoneNumber, phoneRegex)) {
cout << "Invalid phone number. Please enter a valid 10-digit phone number.\n";
return false;
}
public:
BusManager() {
// Adding default buses
buses.emplace_back("1", "Jathin", "vijayawada", "hyderabad", 60, 500.0, "2024-10-25", "10:00 AM");
buses.emplace_back("2", "Olive", "mangalagiri", "hyderabad", 60, 400.0, "2024-10-25", "02:00 PM");
buses.emplace_back("3", "Harshith", "guntur", "hyderabad", 60, 600.0, "2024-10-25", "06:00 PM");
}
// Reserve tickets based on bus availability for a given date and time
void reserveTicket() {
if (buses.empty()) {
cout << "No buses available.\n";
return;
}
if (bus.busNumber == busNumber) {
cout << "Enter number of tickets to book: ";
cin >> numTickets;
for (int i = 0; i < numTickets; ++i) {
cout << "Enter passenger name: ";
cin.ignore();
getline(cin, passengerName);
cout << "Enter age: ";
cin >> age;
cout << "Enter gender (M/F): ";
cin >> gender;
cout << "Enter 10-digit phone number: ";
cin >> phoneNumber;
cout << "No buses available for the entered date and time.\n";
}
void cancelTicket() {
if (buses.empty()) {
cout << "No buses available.\n";
return;
}
string busNumber, inputDate, inputTime;
int seatNumber;
if (bus.busNumber == busNumber) {
cout << "Enter seat number: ";
cin >> seatNumber;
bus.cancelReservation(seatNumber);
return;
}
}
}
cout << "No bus available for the entered date and time.\n";
}
if (bus.busNumber == busNumber) {
bus.displaySeats();
return;
}
}
}
cout << "No bus available for the entered date and time.\n";
}
};
// Main function
int main() {
BusManager busManager;
int choice;
do {
cout << "\n--- Bus Ticket Reservation System ---\n";
cout << "1. Reserve a Ticket\n";
cout << "2. Cancel a Reservation\n";
cout << "3. Display Available Buses\n";
cout << "4. View Bus Seats\n";
cout << "5. Exit\n";
cout << "Enter your choice: ";
cin >> choice;
switch (choice) {
case 1:
busManager.reserveTicket();
break;
case 2:
busManager.cancelTicket();
break;
case 3:
busManager.displayBuses();
break;
case 4:
busManager.viewBusSeats();
break;
case 5:
cout << "Exiting the system.\n";
break;
default:
cout << "Invalid choice! Please try again.\n";
}
} while (choice != 5);
return 0;
}
OUTPUT TEST CASES(SCREENSHOTS):
OUTPUT TEST CASES(SCREENSHOTS):
OUTPUT TEST CASES(SCREENSHOTS):
OUTPUT TEST CASES(SCREENSHOTS):
OUTPUT TEST CASES(SCREENSHOTS):
OUTPUT TEST CASES(SCREENSHOTS):
CONCLUSION:
https://youtu.be/KoyJimghxWA?feature=shared