This document contains a project report on a Railway Reservation System created by Sandeep Yadav. The report includes sections on header files used, files generated, working description, coding, output screens, and conclusion. The Railway Reservation System program allows users to book tickets, change train details, modify the database, and cancel reservations. The coding section provides details on the classes and functions created to manage the reservation, cancellation, and administrative processes for the system.
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
Railway Reservation System Project Report
1. A Project Report On
Railway Reservation System
Submitted By
Sandeep yadav
Class : XII A
Under the Guidance of:-
Mr. Ajay Godwal
PGT(ComputerScience)
2. CERTIFICATE
This is to certify that SANDEEP YADAV Of Class XII A has prepared the
report on the Project entitled “Railway Reservation System”. The report is
the result of his efforts & endeavors. The report is found worthy of
acceptanceas finalprojectreport for the subject Computer Science of Class
XII. He has prepared the report under my guidance
Mr. Ajay Godwal V.K.Yadav
PGT(Computer science) Principal
.
KENDRIYA VIDYALAYA
SANGATHAN JANAKPURI
NEW DELHI ,110058
KENDRIYA VIDYALAYA
SANGATHAN JANAKPURI
NEW DELHI , 110058
3. DECLARATION
I herebydeclare thatthe projectwork entitled“Railway Reservation System”
, submitted to Department of Computer Science, Kendriya Vidyalaya ,
Janakpuri New delhi is prepared by me. All the coding are result of my
personal efforts.
SANDEEP YADAV
CLASS XII A
4. ACKNOWLEDGMENT
I would like to express a deep sense of thanks & gratitude to my project
guideMr. Ajay Godwal Sir for guidingme immensely through the course of
the project. He always evinced keen interest in my work. His constructive
advice & constant motivation have been responsible for the successful
completion of this project.
My sincere thanks goes to V. K .Yadav , Our principal sir, for his co-
ordination in extending every possible support for the completion of this
project.
I also thanks to my parents for their motivation & support. I must thanks to
my classmatesfor their timelyhelp & supportforcompilationofthis project.
Last but not the least, I would like to thank all those who had helped
directly or indirectly towards the completion of this project.
SANDEEP YADAV
CLASS : XII A
6. HEADER FILES USED
1. FSTREAM.H – for file handling, cin and cout
2. PROCESS.H – for exit() function
3. CONIO.H – for clrscr() and getch() functions
4. STDIO.H – for standard I/O operations
5. STRING.H – for string handling
6. MATH.H – for doing mathematical operations
7. FILES GENERATED DATA FILES
TRAIN.DAT
PROGRAM FILE RAILWAY TICKET
RESERVATION.CPP
OBJECT FILE TRAIN.OBJ
EXECUTION FILE TRAIN.EXE
8. WORKING DESCRIPTION
This program is designed to keep the record. This
program consists of FIVE options as follows :-
1. TO ADD NEW RAILWAY STATION
2. TO BOOK TICKET
3. TO CHANGE PER KM RATES
4. TO MODIFY DATABASE OF TRAIN
5. TO EXIT
10. void displayid()
{
cout<<"Id:";puts(id);
cout<<"Password:";puts(pass);
}
};
class detail
{
public:
int tno;
char tname[100];
char bp[100];
char dest[100];
int c1,c1fare;
int c2,c2fare;
int d,m,y;
void getdetail()
{
cout<<"Enter the details as followsn";
cout<<"Train no:";cin>>tno;
cout<<"Train name:";gets(tname);
cout<<"Boarding point:";gets(bp);
cout<<"Destinationpt:";gets(dest);
cout<<"No of seats in first class & fare per ticket:";
cin>>c1>>c1fare;
cout<<"No of seats in second class & fare per ticket:";
cin>>c2>>c2fare;
cout<<"Date of travel:";cin>>d>>m>>y;
12. cout<<"Train no:";cin>>tno;
cout<<"Train name:";gets(tname);
cout<<"Boarding point:";gets(bp);
cout<<"Destinationpt:";gets(dest);
cout<<"No of seats required:";cin>>nosr;
for(i=0;i<nosr;i++)
{
cout<<"Passengername:";gets(pname[i]);
cout<<"Passengerage:";cin>>age[i];
}
cout<<"Enter the class f-first class s-second class:";
gets(clas);
cout<<"Date of travel:";cin>>d>>m>>y;
cout<<"Enter the concessioncategoryn";
cout<<"1.Militaryn2.Senior citizenn";
cout<<"3.Childrenbelow 5 yrsn4.Nonen";
cin>>con;
cout<<"............END OF GETTING DETAILS............n";
}
void displayresdet()
{
cout<<"...............................................n";
cout<<"...............................................n";
cout<<"Pnr no:"<<pnr;
cout<<"nTrain no:"<<tno;
cout<<"nTrain name:";puts(tname);
cout<<"Boarding point:";puts(bp);
cout<<"Destinationpt:";puts(dest);
cout<<"No of seats reserved:"<<nosr;
13. for(i=0;i<nosr;i++)
{
cout<<"Passengername:";puts(pname[i]);
cout<<"Passengerage:"<<age[i];
}
cout<<"nYour class:";puts(clas);
cout<<"nDate of reservation:"<<d<<"-"<<m<<"-"<<y;
cout<<"nYour concessioncategory:"<<con;
cout<<"nYou must pay:"<<amc<<endl;
cout<<"***********************************************n";
cout<<".........END OF RESERVATION.................n";
cout<<"***********************************************n";
}
};
class canc
{
public:
int pnr;
int tno;
char tname[100];
char bp[10];
char dest[100];
char pname[10][100];
int age[20];
int i;
char clas[10];
int nosc;
int d,m,y;
14. float amr;
void getcancdet()
{
cout<<"Enter the details as followsn";
cout<<"Pnr no:";cin>>pnr;
cout<<"Date of cancellation:";cin>>d>>m>>y;
cout<<"...........END OF GETTING DETAILS...........n";
}
void displaycancdet()
{
cout<<"...........................................n";
cout<<"...........................................n";
cout<<"Pnr no:"<<pnr;
cout<<"nTrain no:"<<tno;
cout<<"nTrain name:";puts(tname);
cout<<"Boarding point:";puts(bp);
cout<<"Destinationpt:";puts(dest);
cout<<"nYour class:";puts(clas);
cout<<"no of seats to be cancelled:"<<nosc;
for(i=0;i<nosc;i++)
{
cout<<"Passengername:";puts(pname[i]);
cout<<"passengerage:"<<age[i];
}
cout<<"nDate of cancellation:"<<d<<"-"<<m<<"-"<<y;
cout<<"nYou can collect:"<<amr<<"rs"<<endl;
cout<<"*****************************************n";
cout<<".........END OF CANCELLATION.............n";
16. case 1:
database();
break;
case 2:
user();
break;
case 3:
exit(0);
}
}while(ch<=3);
getch();
}
void database()
{
char *password;
char *pass="12345678";
password=getpass("Enterthe admininistrator password:");
detail a;
fstream f;
int ch;
char c;
if(strcmp(pass,password)!=0)
{
cout<<"Enter the password correctly n";
cout<<"You are not permitted to logon this moden";
goto h;
}
if(strcmp(pass,password)==0)
{
17. char c;
do
{
cout<<"...........ADMINISTRATOR MENU...........n";
cout<<"1.Create detail data basen2.Add detailsn";
cout<<"3.Displaydetailsn4.Usermanagementn";
cout<<"5.Displaypassengerdetailsn6.Return to main menun";
cout<<"Enter your choice:";
cin>>ch;
cout<<endl;
switch(ch)
{
case 1:
f.open("t.txt",ios::out|ios::binary);
do
{
a.getdetail();
f.write((char *) & a,sizeof(a));
cout<<"Do you want to add one more record?n";
cout<<"y-forYesnn-for Non";
cin>>c;
}while(c=='y');
f.close();
break;
case 2:
f.open("t.txt",ios::in|ios::out|ios::binary|ios::app);
a.getdetail();
18. f.write((char *) & a,sizeof(a));
f.close();
break;
case 3:
f.open("t.txt",ios::in|ios::out|ios::binary|ios::app);
f.seekg(0);
while(f.read((char *) & a,sizeof(a)))
{
a.displaydetail();
}
f.close();
break;
case 4:
manage();
break;
case 5:
displaypassdetail();
break;
}
}while(ch<=5);
f.close();
}
h:
}
void reserve()
{
int ch;
do
19. {
cout<<"1.Reserven2.Returnto the main menun";
cout<<"Enter your choice:";
cin>>ch;
cout<<endl;
switch(ch)
{
case 1:
res();
break;
}
}while(ch==1);
getch();
}
void res()
{
detail a;
reser b;
fstream f1,f2;
time_t t;
f1.open("t.txt",ios::in|ios::out|ios::binary);
f2.open("p.txt",ios::in|ios::out|ios::binary|ios::app);
int ch;
b.getresdet();
while(f1.read((char *) &a,sizeof(a)))
{
if(a.tno==b.tno)
{
if(strcmp(b.clas,f)==0)
26. {
cout<<"You are cancelling at the date of departuren";
c.amr=tamt-((tamt*60)/100);
}
else if(c.m==m)
{
cout<<"You are cancelling at the month of departuren";
c.amr=tamt-((tamt*50)/100);
}
else if(m>c.m)
{
cout<<"You are cancelling one month before the date of departuren";
c.amr=tamt-((tamt*20)/100);
}
else
{
cout<<"Cancelling after the departuren";
cout<<"Your request cannot be completedn";
}
goto h;
c.displaycancdet();
}
}
}
else if(strcmp(c.clas,s)==0)
{
while(f1.read((char *) & a,sizeof(a)))
{
27. if(a.tno==c.tno)
{
a.c2=a.c2+c.nosc;
d=a.d;
m=a.m;
addr=f1.tellg();
ad=sizeof(a.c2);
f1.seekp(addr-(5*ad));
f1.write((char *) & a.c2,sizeof(a.c2));
tamt=b.amc;
if((c.d==d)&&(c.m==m))
{
cout<<"You are cancelling at the date of departuren";
c.amr=tamt-((tamt*60)/100);
}
else if(c.m==m)
{
cout<<"You are cancelling at the month of departuren";
c.amr=tamt-((tamt*50)/100);
}
else if(m>c.m)
{
cout<<"You are cancelling one month before the date of departuren";
c.amr=tamt-((tamt*20)/100);
}
else
{
cout<<"Cancelling after the departuren";
cout<<"Your request cannot be completedn";
31. {
cout<<"Enter your user id and password correctlyn";
}
getch();
j:
}
void manage()
{
int ch;
fstream f;
char c;
login a;
cout<<".........WELCOME TO THE USER MANAGEMENT MENU........n";
do
{
cout<<"1.Create id data basen2.Add detailsn";
cout<<"3.Displaydetailsn4.Return to the main menun";
cout<<"Enter your choice:";
cin>>ch;
cout<<endl;
switch(ch)
{
case 1:
f.open("id.txt",ios::out|ios::binary);
do
{
a.getid();
f.write((char *) & a,sizeof(a));
32. cout<<"Do you want to add one more recordn";
cout<<"y-Yesnn-Non";
cin>>c;
}while(c=='y');
f.close();
break;
case 2:
f.open("id.txt",ios::in|ios::out|ios::binary|ios::app);
a.getid();
f.write((char *) & a,sizeof(a));
f.close();
break;
case 3:
f.open("id.txt",ios::in|ios::out|ios::binary);
f.seekg(0);
while(f.read((char *) & a,sizeof(a)))
{
a.displayid();
}
f.close();
break;
}
}while(ch<=3);
getch();
}
33. OUTPUT
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.......WELCOME TO RAILWAY RESERVATION SYSTEM.....................
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^MAIN MENU^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1.Admin mode
2.User mode
3.Exit
Enter your choice:1
Enter the admininistrator password:*********
Enter the password correctly
You are not permitted to logon this mode
^^^^^^^^^^^^^^^^^^^^^^MAIN MENU^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1.Admin mode
2.User mode
3.Exit
Enter your choice:1
Enter the admininistrator password:*********
.............................ADMINISTRATOR MENU.........................................
1.Create detail data base
2.Add details
3.Display details
4.User management
5.Display passenger details
6.Return to main menu
Enter your choice:1
34. Enter the details as follows
Train no:123
Train name:yercaud exp
Boarding point:erode
Destination pt:chennai
No of seats in first class & fare per ticket:100 200
No of seats in second class & fare per ticket:200 100
Date of travel:2 3 2009
Do you want to add one more record?
y-for Yes
n-for No
y
Enter the details as follows
Train no:124
Train name:shatapti exp
Boarding point:chennai
Destination pt:bombay
No of seats in first class & fare per ticket:300 200
No of seats in second class & fare per ticket:200 300
Date of travel:4 5 2009
Do you want to add one more record?
y-for Yes
n-for No
n
.............................ADMINISTRATOR MENU....................................
1.Create detail data base
2.Add details
3.Display details
4.User management
5.Display passenger details
6.Return to main menu
Enter your choice:2
35. Enter the details as follows
Train no:126
Train name:kurula exp
Boarding point:bombay
Destination pt:chennai
No of seats in first class & fare per ticket:200 300
No of seats in second class & fare per ticket:300 200
Date of travel:4 3 2009
.............................ADMINISTRATOR MENU.......................................
1.Create detail data base
2.Add details
3.Display details
4.User management
5.Display passenger details
6.Return to main menu
Enter your choice:3
Trno Trname Bpt Dest Fs Ffare Ss Sfare Date of dep
123 yercaud exp erode chennai 100 200 200 100 2-3-2009
124 shatapti exp chennai bombay 300 200 200 300 4-5-2009
126 kurula exp bombay chennai 200 300 300 200 4-3-2009
..........……...……............ADMINISTRATOR MENU.................................................
1.Create detail data base
2.Add details
3.Display details
4.User management
5.Display passenger details
6.Return to main menu
Enter your choice:4
36. ……………..........WELCOME TO THE USER MANAGEMENT MENU......………………
1.Create id data base
2.Add details
3.Display details
4.Return to the main menu
Enter your choice:1
Enter your id:ashwin
Enter the password:**********
Do you want to add one more record
y-Yes
n-No
y
Enter your id:ajinth
Enter the password:**********
Do you want to add one more record
y-Yes
n-No
y
Enter your id:bala
Enter the password:********
Do you want to add one more record
y-Yes
n-No
y
Enter your id:hemanth
Enter the password:*********
Do you want to add one more record
y-Yes
n-No
1.Create id data base
2.Add details
37. 3.Display details
4.Return to the main menu
Enter your choice:2
Enter your id:berlin
Enter the password:*********
1.Create id data base
2.Add details
3.Display details
4.Return to the main menu
Enter your choice:3
Id:ashwin
Password:11111111
Id:ajinth
Password:22222222
Id:bala
Password:33333333
Id:prem
Password:44444444
Id:hemanth
Password:55555555
Id:berlin
Password:66666666
1.Create id data base
2.Add details
3.Display details
4.Return to the main menu
Enter your choice:4
. ......................ADMINISTRATOR MENU........................
1.Create detail data base
2.Add details
3.Display details
38. 4.User management
5.Display passenger details
6.Return to main menu
Enter your choice:5
.
.............................ADMINISTRATOR MENU...................................
1.Create detail data base
2.Add details
3.Display details
4.User management
5.Display passenger details
6.Return to main menu
Enter your choice:6
^^^^^^^^^^^^^^^^^^^^^^MAIN MENU^^^^^^^^^^^^^^^^^^^^^^^
1.Admin mode
2.User mode
3.Exit
Enter your choice:2
************************************************************************
***********WELCOMETO THE USER MENU**********************
************************************************************************
Enter your id:
ashwin
Enter your password:*********
Enter your user id and password correctly
^^^^^^^^^^^^^^^^^^^^^^MAIN MENU^^^^^^^^^^^^^^^^^^^^^^^
1.Admin mode
2.User mode
3.Exit
Enter your choice:2
**********************************************************************
*************WELCOME TO THE USER MENU******************
**********************************************************************
39. Enter your id:
ashwin
Enter your password:*********
1.Reserve
2.Cancell
3.Enquiry
4.Return to the main menu
Enter your choice:1
1.Reserve
2.Return to the main menu
Enter your choice:1
Enter the details as follows
Train no:123
Train name:yercaud
Boarding point:erode
Destination pt:chennai
No of seats required:10
Passenger name:raja
Passenger age:45
Passenger name:ragu
Passenger age:32
Passenger name:ravi
Passenger age:34
Passenger name:vinoth
Passenger age:23
Passenger name:raju
Passenger age:24
Passenger name:latha
Passenger age:45
Passenger name:mala
Passenger age:23
Passenger name:vimala
Passenger age:32
40. Passenger name:kathir
Passenger age:12
Passenger name:kosi
Passenger age:43
Enter the class f-first class s-second class:f
Date of travel:2 2 2009
Enter the concession category
1.Military
2.Senior citizen
3.Children below 5 yrs
4.None
4
..................................END OF GETTING DETAILS..............................
You cannot get any concession
..............................................................................................................
...............................................................................................................
Pnr no:10770
Train no:123
Train name:yercaud
Boarding point:erode
Destination pt:chennai
No of seats reserved:10Passenger name:raja
Passenger age:45Passenger name:ragu
Passenger age:32Passenger name:ravi
Passenger age:34Passenger name:vinoth
Passenger age:23Passenger name:raju
Passenger age:24Passenger name:latha
Passenger age:45Passenger name:mala
Passenger age:23Passenger name:vimala
Passenger age:32Passenger name:kathir
Passenger age:12Passenger name:kosi
Passenger age:43
Your class:f
41. Date of reservation:2-2-2009
Your concession category:4
You must pay:2000
*************************************************************************************
......................................END OF RESERVATION........................................
*************************************************************************************
------------------------------------------------------------------------------------------------------
----------------------------------Your ticket is reserved------------------------------------
------------------------------------End of reservation menu-------------------------------
1.Reserve
2.Return to the main menu
Enter your choice:2
1.Reserve
2.Cancell
3.Enquiry
4.Return to the main menu
Enter your choice:3
Trno Trname Bpt Dest Fs Ffare Ss Sfare Date of dep
123 yercaud exp erode chennai 90 200 200 100 2-3-2009
124 shatapti exp chennai bombay 300 200 200 300 4-5-2009
126 kurula exp bombay chennai 200 300 300 200 4-3-2009
1.Reserve
2.Cancel
3.Enquiry
42. 4.Return to the main menu
Enter your choice:2
*********************************CANCELLATION MENU******************************
Enter the details as follows
Pnr no:10770
Date of cancellation:2 /3/ 2009
..............................................END OF GETTING DETAILS.....................................
You are cancelling at the date of departure
..................................................................................................................................
...................................................................................................................................
Pnr no:10770
Train no:123
Train name:yercaud
Boarding point:erode
Destination pt:chennai
Your class:f
no of seats to be cancelled:10
Passenger name: raja passenger age: 45
Passenger name: ragu passenger age: 32
Passenger name: ravi passenger age: 34
Passenger name: vinoth passenger age: 23
Passenger name: raju passenger age: 24
Passenger name: latha passenger age:45
Passenger name: mala passenger age: 23
Passenger name: vimala passenger age: 32
Passenger name: kathir passenger age: 12
Passenger name: kosi passenger age: 43
Date of cancellation:2-3-2009
You can collect: 800rs
*********************************************************************************
……………………..........END OF CANCELLATION................................
43. *********************************************************************************
1.Reserve
2.Cancell
3.Enquiry
4.Return to the main menu
Enter your choice:2
**************************CANCELLATION MENU***************************
Enter the details as follows
Pnr no:12234
Date of cancellation:2 3 2009
……………............END OF GETTING DETAILS......................................
Enter the correct pnr no
1.Reserve
2.Cancell
3.Enquiry
4.Return to the main menu
Enter your choice:3
Trno Trname Bpt Dest Fs Ffare Ss Sfare Date of dep
123 yercaud exp erode chennai 100 200 200 100 2-3-2009
124 shatapti exp chennai bombay 300 200 200 300 4-5-2009
126 kurula exp bombay chennai 200 300 300 200 4-3-2009
1.Reserve
2.Cancell
3.Enquiry
4.Return to the main menu
Enter your choice:3
44. Trno Trname Bpt Dest Fs Ffare Ss Sfare Date of dep
123 yercaud exp erode chennai 100 200 200 100 2-3-2009
124 shatapti exp chennai bombay 300 200 200 300 4-5-2009
126 kurula exp bombay chennai 200 300 300 200 4-3-2009
1.Reserve
2.Cancell
3.Enquiry
4.Return to the main menu
Enter your choice:1
1.Reserve
2.Return to the main menu
Enter your choice:1
Enter the details as follows
Train no:12345
Train name:shatapti
Boarding point:chennai
Destination pt:bombay
No of seats required:1
Passenger name:raja
Passenger age:23
Enter the class f-first class s-second class:f
Date of travel:3 2 2009
Enter the concession category
1.Military
2.Senior citizen
3.Children below 5 yrs
45. 4.None
.....................................END OF GETTING DETAILS...................................
………………............Wrong train no.............................................................
…………………......Enter the train no from the data base.........................
1.Reserve
2.Return to the main menu
Enter your choice:2
1.Reserve
2.Cancell
3.Enquiry
4.Return to the main menu
Enter your choice:4
^^^^^^^^^^^^^^^^^^^^^^^MAIN MENU ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1.Admin mode
2.User mode
3.Exit
^^^^^^^^^^^^^^^^^^^^^^MAIN MENU ^^^^^^^^^^^^^^^^^^^^^^^^^^
1.Admin mode
2.User mode
3.Exit
Enter your choice:1
Enter the admininistrator password:*********
.............................ADMINISTRATOR MENU....................................
1.Create detail data base
2.Add details
3.Display details
4.User management
5.Display passenger details
6.Return to main menu
Enter your choice:5
. .............................ADMINISTRATOR MENU...................................
46. 1.Create detail data base
2.Add details
3.Display details
4.User management
5.Display passenger details
6.Return to main menu
Enter your choice:6
^^^^^^^^^^^^^^^^^^^^^^ MAIN MENU ^^^^^^^^^^^^^^^^^^^^^^^^^
1.Admin mode
2.User mode
3.Exit
Enter your choice:3