A
FIELD PROJECT REPORT
ON
BUS RESERVATION SYSTEM
Submitted to the Gondwana University, Gadchiroli
in partial fulfillment of the requirement for the degree of
Bachalor of Science in Computer Science
SUBMITTED BY
1. Sanskruti K. Dewalkar
2. Khushi S. Burewar
3. Diya B. Pimpalshende
4. Sonali R. Wadgure
5. Falguni A. Bhoyar
[Link]. Second Year Sem III
Guide
Miss. D. P. Chandekar
DEPARTMENT OF COMPUTER SCIENCE
Chintamani College of Arts and Science, Gondpipari
2025- 2026
CERTIFICATE
This is to certify that the work presented in this field project report entitled
"Bus Reservation System” is a bonafide work done by Miss. Khushi S.
Burewar, Miss. Saskruti K. Dewalkar, Miss. Diya B. Pimpalshende, Miss.
Sonali R. Wadgure, Miss. Falguni A. Bhoyar. The project work has been
completed under my guidance and supervision in a satisfactory manner. This
work is a part of the requirement for the award of Bachalor of Science in
Computer Science Degree of Chintamani College of Arts and Science,
Gondpipari. This field project full-fills the requirements relating the nature and
standard work for the award of Bachalor of Science Degree.
Date:
Place:
Miss. D. P. Chandekar
Chintamani College of Arts and Science,
Gondpipari
2
CERTIFICATE
This is to certify that the work presented in this field project report entitled
"Bus Reservation System” is a bonafide work done by Miss. Khushi S.
Burewar, Miss. Saskruti K. Dewalkar, Miss. Diya B. Pimpalshende, Miss.
Sonali R. Wadgure, Miss. Falguni A. Bhoyar. The project work has been
completed under my guidance and supervision in a satisfactory manner. This
work is a part of the requirement for the award of Bachalor of Science in
Computer Science Degree of Chintamani College of Arts and Science,
Gondpipari. This field project full-fills the requirements relating the nature and
standard work for the award of Bachalor of Science Degree.
Date:
Place:
Dr. M. N. Giriya
Principal
Chintamani College of Arts and Science,
3
Gondpipari
DECLARATION
We hereby, declared that the work presented in this project entitled "Bus
Reservation System” has been carried out by me and my group member under the
guidance of Miss. Dhammadiksha P. Chandekar Lecturer of Computer Science
Department.
The work presented in this project, submit for the award of the degree of
Bachalor of Science to Chintamani College of Arts and Science, Gondpipari has
not been submitted to any other University or Institution for the award of degree,
diploma or certificate.
Place:
Date:
1. Sanskruti K. Dewalkar
2. Khushi S. Burewar
3. Diya B. Pimpalshende
4. Sonali R. Wadgure
5. Falguni A. Bhoyar
[Link]. Second Year Sem. III
Department of Computer Science
Chintamani College of Arts and Science,
Gondpipari
4
ACKNOWLEDGMENT
We express our deep sense of gratitude and sincere thanks to respected Dr.
M. N. Giriya, Principal, Chintamani College of Arts and Science, Gondpipari. We
would like to thanks my supervisor Miss. Dhammadiksha P. Chandekar,
Lecturer of Department of Computer science, Chintamani College of Arts and
Science, Gondpipari for his valuable guidance, constant encouragement and keep
interest in the development of this work.
We are also thankful to my parents and friends to providing moral support
and encouragement during this project work.
Place:
Date:
1. Sanskruti K. Dewalkar
2. Khushi S. Burewar
3. Diya B. Pimpalshende
4. Sonali R. Wadgure
5. Falguni A. Bhoyar
[Link]. Second Year Sem. III
Department of Computer Science
Chintamani College of Arts and Science,
Gondpipari
5
ABSTRACT
The Bus Reservation System is a mini-project developed in the C
programming language to automate the process of bus ticket booking.
In the existing manual system, booking seats and managing passenger
records is time-consuming, prone to errors, and lacks efficiency. The proposed
system offers a user-friendly, interactive, and reliable way to manage reservations
digitally.
This system allows users to register, log in, view available seats, and book
tickets. Each seat is identified by a unique number, and once booked, it becomes
unavailable for others. The program also provides options to display all booked
tickets.
The entire process runs through a menu-driven interface, making it easy to
operate even for beginners.
The main aim of this project is to demonstrate the concepts of structured
programming, arrays, and decision-making in C. It emphasizes user interaction,
data validation, and logical program flow. Though simple, this project represents a
foundation for larger, real-world transport management systems.
Keywords: C Programming, Bus Booking, Seat Reservation, Menu-Driven
System, User Registration, Login Module.
6
CONTENT
Sr. Name of Topic Page No.
No.
1 Introduction 9
2 Objectives of the study 10
3 Software & Hardware Requirement Specification
1. software 11
2. hardware 12
4 Literature review 13
5 Problem Definition 14
6 System Design 16
7 System Implementation 18
8 Source code 20
9 Testing & Output 24
10 Input/Output 26
11 Advantages/Features 30
12 Limitations 30
13 Future Scope 31
14 Conclusion 31
15 Bibilography 32
7
List of Figures & Tables
Sr. No. Figure/Table Name Page No.
1 Hardware(Table) 12
2 Existing system & proposed system
Comparision Table 14
3 Data Flow Diagram(Level 0) 16
4 Data Flow Diagram(Level 1) 17
5 Implementation Flow 18
6 Test case Table 24
7 Input/Output images
1. Registration 26
2. Login 26
3. Checking Available Seats 27
4. Seat Booking 28
5. Checking Booked seat 28
6. logout 29
8
BUS RESERVATION SYSTEM
Introduction
Transportation is a vital part of human life, connecting cities, towns, and
villages. The bus transport network serves as the most accessible and affordable
means for passengers. Traditionally, bus reservations have been handled manually,
which often leads to errors such as double booking, loss of data, and time delays.
To overcome these challenges, the Bus Reservation System project was
developed in the C programming language. This system automates the reservation
process, enabling users to register, log in, and book seats conveniently. It provides
a simple, menu-driven interface suitable for small organizations, students, and
local travel agencies.
This project demonstrates the use of structured programming concepts,
including arrays, loops, conditional statements, and user-defined functions,
combined into a real-world application that emphasizes logic, design, and
execution.
9
Objectives of the Project
The main objectives of the Bus Reservation System are:
1. To develop a computerized system that automates bus ticket booking
using C programming.
2. To implement user registration and login functionality for secure access.
3. To reduce manual work and minimize human error.
4. To implement a user-friendly interface for booking and managing seats.
5. To display available and booked seats accurately.
6. To demonstrate practical application of C programming concepts.
7. To provide a foundation for future enhancements like database and web
integration.
10
Software & Hardware Requirement Specification:
Software:
IDE/Compiler:
1. Turbo C++
2. Coding C++ (mobile app)
Documentation Tool: (For Report Preparation)
1. MS Word or
2. LibreOffice Writer
Operating System: (32-bit or 64-bit)
1. Window XP or
2. Windows 7 or
3. Windows 10
Programming Language: C (ANSI Standard)
Text Editor:
1. Built-in Turbo C++ editor or
2. Notepad
PDF Converter: (For final documentation)
1. MS WORD Export or
2. Adobe Acrobat
11
Optional Software (For Future Enhancements):
1. MySQL or SQLite for database integration.
2. Visual Studio Code or Code::Blocks IDE for advanced development.
3. Git for version control.
4. Browser (for web-based expansion in the future).
Hardware
Sr. Hardware Component Minimum Requirement Recommended Configuration
No.
1 Processor Intel Pentium III or Intel Core i3 or higher
equivalent
2 RAM 256 MB 2 GB or higher
3 Hard Disk Space 10 MB free space 100 MB or higher
4 Monitor VGA / SVGA Display LED Monitor with 1024x768
resolution
5 Keyboard Standard 104 keys USB / Wireless keyboard
6 Mouse Optional (keyboard Optical mouse
input-based system)
7 Storage Device Floppy/CD/USB for USB/Cloud storage
backup
8 Power Supply 230V AC Standard UPS backup for safety
12
Literature Review
Several studies and articles highlight the need for computerized reservation
systems:
1. Kumar & Singh (2018): Emphasized that manual bus reservation is
inefficient and prone to errors. Automated systems save time and reduce
mismanagement.
2. Patel (2020): Demonstrated how C programming projects with menu-driven
systems improve understanding of structures, arrays, and user-defined data
types.
3. Sharma (2021): Illustrated that a simple bus reservation project helps
students learn practical system development while simulating real-life
applications.
13
Problem Definition
Existing System:
The manual bus booking system involves physical records maintained in
registers or logbooks. It requires manual verification of seat availability, which can
be tedious and time-consuming. Additionally, it’s prone to errors, double booking,
and data loss Because of no digital record of booking. Passengers often face delays
and inconvenience in confirming their reservations.
Proposed System:
The proposed Bus Reservation System is an automated application that
simplifies the process. It is fully computer based menu-driven system. It allows
users to secure register, log in, and book available seats through a computerized
interface. The system keeps track of available and booked seats dynamically,
preventing double booking and reducing human dependency.
Comparison Table:
Sr. No. Feature Manual System Proposed System
1 Booking Speed Slow Fast
2 Seat Tracking Manual Automated
3 Accuracy Low High
4 Data Storage Paper-Based In-memory
5 Security Low Moderate(Login)
14
Key Benefits:
Following are the Good benefits of this Bus Registration system
Faster booking process.
Easy record management.
Reduction in manual errors.
Real-time seat availability display.
15
System Design
1. System Architecture
The system is divided into four major modules:
a. Registration Module: Allows users to create an account with username
and password.
b. Login Module: Authenticates users before granting access to booking
features.
c. Seat Management Module: Displays available and booked seats
dynamically.
d. Booking Module: Handles seat reservation and prevents duplicate
bookings.
2. Data Flow Diagram (DFD)
Level 0 (Context Diagram):
User Login/Register Bus Reservation Seat Info/Ticket
System
16
Level 1 (Detailed Flow):
1. User registers → System stores credentials.
2. User logs in → System verifies credentials.
3. User books seat → System checks availability → Confirms booking.
4. User views bookings → System displays reserved tickets.
3. Data Structures Used:
Passenger: For storing passenger details (name and seat number).
Array: To manage seats and booking data.
User: For usernames and passwords.
17
System Implementation
1. Programming Language: C Language (ANSI Standard) using Turbo C++
IDE
2. Tools used: Turbo C++ Compiler(for Code execution), MS Word(for
Doumentation)
3. Features Implemented
a. Registration: Users can create an account.
b. Login: Secure authentication before booking.
c. Show Seats: Displays available and booked seats.
d. Book Seats: Users can reserve seats and enter passenger names.
e. View Bookings: Displays all booked tickets.
f. Logout: Ends user session.
Implementation Flow
Start
Register/Login
Menu Display
View Seats/Book
Seat/View
Booking/Exit
End
18
4. Functionality Details
a) Registration:
Users enter a username and password.
System stores credentials in an array.
b) Login:
User enters credentials.
System verifies against stored usernames and passwords.
c) Show Seats:
Displays total 20 seats (Available/Booked).
Booked seats show the passenger name.
d) Booking:
User selects seat number.
System checks availability → if free, stores passenger name and
marks as booked.
e) View Bookings:
Displays all seats booked along with passenger names.
19
Source Code
#include <stdio.h> // function prototypes
#include <stdlib.h> void registerUser();
#include <string.h> int loginUser();
#include <conio.h> // for clrscr(), getch() void showSeats();
#define SEATS 20 void bookSeat();
#define USERS 10 // max registered users void viewBookings();
// structures int main()
struct Passenger {
{ int choice;
char name[30]; clrscr(); // clear screen
int seatNo; while (1)
}; {
struct User if (!loggedIn)
{ {
char username[20]; printf("\n====== BUS
RESERVATION SYSTEM ======\n");
char password[20];
printf("1. Register\n");
};
printf("2. Login\n");
printf("3. Exit\n");
// global arrays
printf("Enter your choice: ");
struct Passenger passengers[SEATS];
scanf("%d", &choice);
int booked[SEATS] = {0};
switch (choice)
struct User users[USERS];
{
int userCount = 0;
case 1:
int loggedIn = 0;
registerUser();
break;
20
case 2: case 2:
if (loginUser()) bookSeat();
{ break;
loggedIn = 1; case 3:
} viewBookings();
break; break;
case 3: case 4:
printf("\nThank you for using Bus loggedIn = 0;
Reservation System!\n");
printf("\nLogged out
getch(); successfully!\n");
return 0; break;
default: default:
printf("\nInvalid choice! Try printf("\nInvalid choice! Try
again.\n"); again.\n");
} }
} else }
{ }
printf("\n====== MAIN MENU }
======\n");
printf("1. Show Available Seats\n");
// register user
printf("2. Book a Seat\n");
void registerUser()
printf("3. View All Bookings\n");
{
printf("4. Logout\n");
char uname[20];
printf("Enter your choice: ");
char pass[20];
scanf("%d", &choice);
if (userCount >= USERS)
{
switch (choice)
printf("\nUser limit reached!\n");
{
return;
case 1:
}
showSeats();
printf("\nEnter username: ");
break;
21
scanf("%s", uname); }
printf("Enter password: "); printf("\nInvalid username or password!\
n");
scanf("%s", pass);
return 0;
strcpy(users[userCount].username, uname);
}
strcpy(users[userCount].password, pass);
userCount++;
// show seats
printf("\nRegistration successful! Please
login.\n"); void showSeats()
} {
int i;
// login user printf("\nAvailable Seats (Total %d):\n",
SEATS);
int loginUser()
for (i = 0; i < SEATS; i++)
{
{
char uname[20];
if (booked[i] == 0)
char pass[20];
printf("[Seat %d: Available]\n", i +
int i; 1);
printf("\nEnter username: "); else
scanf("%s", uname); printf("[Seat %d: Booked]\n", i + 1);
printf("Enter password: "); }
scanf("%s", pass); }
for (i = 0; i < userCount; i++) // book seat
{ void bookSeat()
if (strcmp(users[i].username, uname) {
== 0 &&
int seat;
strcmp(users[i].password, pass) ==
0) char name[30];
{ printf("\nEnter seat number to book (1-
%d): ", SEATS);
printf("\nLogin successful! Welcome
%s.\n", uname); scanf("%d", &seat);
return 1; if (seat < 1 || seat > SEATS)
} {
22
printf("\nInvalid seat number!\n"); void viewBookings()
return; {
} int i;
if (booked[seat - 1] == 1) int count = 0;
{ printf("\n===== BOOKED TICKETS
=====\n");
printf("\nSeat %d is already booked!\
n", seat); for (i = 0; i < SEATS; i++)
} else {
{ if (booked[i] == 1)
printf("Enter passenger name: "); {
scanf("%s", name); printf("Seat %d - %s\n",
passengers[i].seatNo, passengers[i].name);
strcpy(passengers[seat - 1].name,
name); count++;
passengers[seat - 1].seatNo = seat; }
booked[seat - 1] = 1; }
printf("\nSeat %d booked successfully if (count == 0)
for %s!\n", seat, name);
{
}
printf("No seats booked yet!\n");
}
}
}
// view all bookings
23
Testing and Output
Test Cases
Test Case Input Expected Output Result
1 Register (user1, 1234) Registration Successful Passed
2 Login (user1, 1234) Login Successful Passed
3 Book Seat (5, Rahul) Seat Booked Successfully Passed
4 Book Seat (5 again) Error: Seat Already Booked Passed
5 View Bookings Displays all booked seats Passed
Sample Output:
====== BUS RESERVATION SYSTEM ======
1. Register
2. Login
3. Exit
Enter choice: 1
Enter username: user1
Enter password: 1234
Registration successful!
24
Enter choice: 2
Enter username: user1
Enter password: 1234
Login successful!
====== MAIN MENU ======
1. Show Available Seats
2. Book a Seat
3. View All Bookings
4. Logout
Enter choice: 2
Enter seat number (1–20): 5
Enter passenger name: Rahul
Seat 5 booked successfully!
25
Input/Output
1. Registration
2. Login
Successful Login Unsuccessful Login
(If username and password Match (If username and password not match)
26
3. Checking Available Seats
Before Booking
After Booking
27
4. Seat Booking
28
5. Checking Booked Seats
6. Logout
29
Advantages/Features
1. Provides a digital solution for booking.
2. Reduces manual work and paperwork.
3. Faster and more efficient than manual booking.
4. Redue human errors in seat allocation.
5. Ensures seat availability accuracy.
6. Prevents double booking.
7. Easy maintenance of passanger records.
8. Simple and user friendly interface— easy for students and operators.
9. Demonstrates real-time application of programming concepts.
[Link] pratical use of arrays, structures and C programming logic.
30
Limitations
1. Only supports a single bus.
2. Limited to one bus and fixed number of seats.
3. Data not permanently stored after program exit. Means no file handling- data
is lost when program terminates.
4. No database or file integration.
5. No graphical or online interface.
6. Lacks administrative control panel.
7. No online payments or multiuser concurrency.
Future Scope
Integration with file handling or databases for permanent record
storage.
Development of web or mobile versions for broader access.
Payment gateway integration.
Real-time bus tracking and automated ticket generation.
Support for multiple buses and routes.
Online booking through a web or mobile application.
Admin panel for managing bus schedules and reservations.
31
Conclusion
The Bus Reservation System is a successful attempt at simulating a real-
world reservation system using C programming. It automates registration, login,
seat booking, and ticket viewing in a structured, menu-driven environment. The
project demonstrates logical design, modular programming, and efficient use of
data structures.
Though simple, this system lays the groundwork for large-scale reservation
platforms. With added database and GUI integration, it can evolve into a full-
fledged commercial application.
Bibilography
1. Yashavant Kanetkar, Let Us C, BPB Publications, 2022.
2. Balagurusamy, Programming in ANSI C, McGraw Hill, 2019.
3. Reema Thareja, Programming in C, Oxford University Press, 2021.
4. Gondwana University – B.A. (Computer Applications) Syllabus 2025.
5. TutorialsPoint & GeeksforGeeks – Online C Programming Examples
6. Kumar, A., & Singh, R. (2018). Computerized Transport Management
Systems.
7. Patel, S. (2020). Learning C Programming through Mini Projects.
8. Sharma, V. (2021). Menu-Driven Systems in Structured Programming.
9. ‘Programming in C’ Dr. S. B. Kishor Sir
32
33