C Program to implement Bus Reservation System
C Program to implement Bus Reservation System
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Bus{
int busNumber;
char source[50];
char destination[50];
int totalSeats;
int availableSeats;
float fare;
};
struct User{
char username[50];
char password[50];
};
void displayMainMenu(){
printf("1. Login\n");
printf("2. Exit\n");
void displayUserMenu(){
printf("\n=== User Menu ===\n");
printf("4. Logout\n");
int loginUser(struct User users[], int numUsers, char username[], char password[]){
int busNumber;
scanf("%d", &busNumber);
if (buses[i].busNumber == busNumber){
busIndex = i;
break;
}
}
if (busIndex == -1){
else{
int seatsToBook;
scanf("%d", &seatsToBook);
else{
buses[busIndex].availableSeats -= seatsToBook;
int busNumber;
scanf("%d", &busNumber);
if (buses[i].busNumber == busNumber){
busIndex = i;
break;
if (busIndex == -1){
else{
int seatsToCancel;
scanf("%d", &seatsToCancel);
else{
buses[busIndex].availableSeats += seatsToCancel;
busNumber);
int busNumber;
scanf("%d", &busNumber);
if (buses[i].busNumber == busNumber){
busIndex = i;
break;
if (busIndex != -1){
else{
int main(){
{"user1", "pass1"}, {"user2", "pass2"}, {"user3", "pass3"}, {"user4", "pass4"}, {"user5", "pass5"},
};
int numUsers = 5;
};
int numBuses = 3;
while (1){
if (loggedInUserId == -1){
displayMainMenu();
int choice;
scanf("%d", &choice);
if (choice == 1){
char username[50];
char password[50];
scanf("%s", username);
scanf("%s", password);
if (loggedInUserId == -1){
else{
break;
else{
else{
displayUserMenu();
int userChoice;
scanf("%d", &userChoice);
switch (userChoice){
case 1:
bookTicket(buses, numBuses);
break;
case 2:
cancelTicket(buses, numBuses);
break;
case 3:
checkBusStatus(buses, numBuses);
break;
case 4:
printf("Logging out.\n");
loggedInUserId = -1;
break;
default:
}
return 0;