SlideShare a Scribd company logo
A Project Report On
Railway Reservation System
Submitted By
Sandeep yadav
Class : XII A
Under the Guidance of:-
Mr. Ajay Godwal
PGT(ComputerScience)
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
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
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
CONTENTS
1. HEADER FILES USED
2. FILES GENERATED
3. WORKING DESCRIPTION
4. CODING
5. OUTPUT SCREENS
6. CONCLUSION
7. BIBLIOGRAPHY
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
FILES GENERATED DATA FILES
TRAIN.DAT
PROGRAM FILE RAILWAY TICKET
RESERVATION.CPP
OBJECT FILE TRAIN.OBJ
EXECUTION FILE TRAIN.EXE
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
CODING
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream.h>
#include<time.h>
#include<iomanip.h>
#include<fstream.h>
char f[10]="f";
char s[10]="s";
int addr,ad,flag,f1,d,m,i,amt;
float tamt;
class login
{
public:
char id[100];
char pass[100];
char *password;
void getid()
{
cout<<"Enter your id:";gets(id);
password=getpass("Enterthe password:");
strcpy(pass,password);
}
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;
}
void displaydetail()
{
cout<<tno<<"t"<<tname<<"t"<<bp<<"t"<<dest<<"t";
cout<<c1<<"t"<<c1fare<<"t"<<c2<<"t"<<c2fare<<"t";
cout<<d<<"-"<<m<<"-"<<y<<"t"<<endl;
}
};
class reser
{
public:
int pnr;
int tno;
char tname[100];
char bp[10];
char dest[100];
char pname[10][100];
int age[20];
char clas[10];
int nosr;
int i;
int d,m,y;
int con;
float amc;
void getresdet()
{
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 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;
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;
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";
cout<<"*****************************************n";
}
};
void manage();
void can();
void user();
void database();
void res();
void reserve();
void displaypassdetail();
void cancell();
void enquiry();
void main()
{
clrscr();
int ch;
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n";
cout<<".......WELCOME TO RAILWAYRESERVATION
SYSTEM..........n";
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n";
do
{
cout<<"^^^^^^^^^^^^^^^^^^^^^^MAIN MENU^^^^^^^^^^^^^^^^^^^^n";
cout<<"1.Adminmoden2.Usermoden3.Exitn";
cout<<"Enter your choice:";
cin>>ch;
cout<<endl;
switch(ch)
{
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)
{
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();
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
{
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)
{
if(a.c1>=b.nosr)
{
amt=a.c1fare;
addr=f1.tellg();
ad=sizeof(a.c1);
f1.seekp(addr-(7*ad));
a.c1=a.c1-b.nosr;
f1.write((char *) & a.c1,sizeof(a.c1));
if(b.con==1)
{
cout<<"Concessioncategory:MILITARYPERSONNELn";
b.amc=b.nosr*((amt*50)/100);
}
else if(b.con==2)
{
cout<<"Concessioncategory:SENIOR CITIZENn";
b.amc=b.nosr*((amt*60)/100);
}
else if(b.con==3)
{
cout<<"Concessioncategory:CHILDERNBELOW FIVEn";
b.amc=0.0;
}
else if(b.con==4)
{
cout<<"You cannot get any concessionn";
b.amc=b.nosr*amt;
}
srand((unsigned) time(&t));
b.pnr=rand();
f2.write((char *) & b,sizeof(b));
b.displayresdet();
cout<<"------------------------------------------------------n";
cout<<"--------------Your ticket is reserved-----------n";
cout<<"-----------------End of reservation menu-------n";
}
else
{
cout<<"**********Sorry req seats not available********n";
}
}
else if(strcmp(b.clas,s)==0)
{
if(a.c2>=b.nosr)
{
amt=a.c2fare;
addr=f1.tellg();
ad=sizeof(a.c2);
f1.seekp(addr-(5*ad));
a.c2=a.c2-b.nosr;
f1.write((char *) & a.c2,sizeof(a.c2));
if(b.con==1)
{
cout<<"Concessioncategory:MILITARYPRESONNELn";
b.amc=b.nosr*((amt*50)/100);
}
else if(b.con==2)
{
cout<<"Concessioncategory:SENIOR CITIZENn";
b.amc=b.nosr*((amt*60)/100);
}
else if(b.con==3)
{
cout<<"Concessioncategory:CHILDERNBELOW FIVEn";
b.amc=0.0;
}
else if(b.con==4)
{
cout<<"You cannot get any concessionn";
b.amc=b.nosr*amt;
}
f2.write((char *) & b,sizeof(b));
b.displayresdet();
cout<<"---------------------------------------n";
cout<<"--------Your ticket is reserved--------n";
cout<<"------------End of reservation---------n";
}
else
{
cout<<"********Sorry req no of seats not available*******n";
}
}
getch();
goto h;
}
else
{
flag=0;
}
}
if(flag==0)
{
cout<<"............Wrong train no......................n";
cout<<"......Enter the train no from the data base.....n";
}
f1.close();
f2.close();
getch();
h:
}
void displaypassdetail()
{
fstream f;
reser b;
f.open("p.txt",ios::in|ios::out|ios::binary);
f.seekg(0);
while(f.read((char *) & b,sizeof(b)))
{
b.displayresdet();
}
f.close();
getch();
}
void enquiry()
{
fstream f;
f.open("t.txt",ios::in|ios::out|ios::binary);
detail a;
while(f.read((char *) & a,sizeof(a)))
{
a.displaydetail();
}
getch();
}
void cancell()
{
detail a;
reser b;
canc c;
fstream f1,f2,f3;
f1.open("t.txt",ios::in|ios::out|ios::binary);
f2.open("p.txt",ios::in|ios::out|ios::binary);
f3.open("cn.txt",ios::in|ios::out|ios::binary);
cout<<"**********CANCELLATIONMENU*********n";
c.getcancdet();
while(f2.read((char *) & b,sizeof(b)))
{
if(b.pnr==c.pnr)
{
c.tno=b.tno;
strcpy(c.tname,b.tname);
strcpy(c.bp,b.bp);
strcpy(c.dest,b.dest);
c.nosc=b.nosr;
for(int j=0;j<c.nosc;j++)
{
strcpy(c.pname[j],b.pname[j]);
c.age[j]=b.age[j];
}
strcpy(c.clas,b.clas);
if(strcmp(c.clas,f)==0)
{
while(f1.read((char *) & a,sizeof(a)))
{
if(a.tno==c.tno)
{
a.c1=a.c1+c.nosc;
d=a.d;
m=a.m;
addr=f1.tellg();
ad=sizeof(a.c1);
f1.seekp(addr-(7*ad));
f1.write((char *) & a.c1,sizeof(a.c1));
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";
}
goto h;
c.displaycancdet();
}
}
}
else if(strcmp(c.clas,s)==0)
{
while(f1.read((char *) & a,sizeof(a)))
{
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";
}
goto h;
c.displaycancdet();
}
}
}
}
else
{
flag=0;
}
}
h:
if(flag==0)
{
cout<<"Enter the correctpnr non";
}
f1.close();
f2.close();
f3.close();
getch();
}
void can()
{
int ch;
do
{
cout<<".................CANCELLATIONMENU.........n";
cout<<"1.Cancelln2.Returnto the main menun";
cout<<"Enter your choice:";
cin>>ch;
cout<<endl;
switch(ch)
{
case 1:
cancell();
break;
}
}while(ch==1);
getch();
}
void user()
{
login a;
int ch;
cout<<"*****************************************************n";
cout<<"***********WELCOME TO THE USER MENU**n";
cout<<"****************************************************n";
char *password;
fstream f;
f.open("id.txt",ios::in|ios::out|ios::binary);
char id[100];
puts("Enter your id:");gets(id);
password=getpass("Enteryour password:");
while(f.read((char *) & a,sizeof(a)))
{
if((strcmp(a.id,id)==0)&&(strcmp(a.pass,password)==0))
{
do
{
cout<<"1.Reserven2.Cancelln3.Enquiryn4.Returnto the main menun";
cout<<"Enter your choice:";
cin>>ch;
cout<<endl;
switch(ch)
{
case 1:
reserve();
break;
case 2:
cancell();
break;
case 3:
enquiry();
break;
}
}while(ch<=3);
goto j;
}
else
{
d=1;
}
}
if(d==1)
{
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));
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();
}
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
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
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
……………..........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
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
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******************
**********************************************************************
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
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
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
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................................
*********************************************************************************
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
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
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...................................
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
Bibliography
1 . https://www.google.co.in/
2 . https://en.wikipedia.org/
3 . Computer scirnce with C++ by
Sumita arora

More Related Content

DOCX
Airline Reservation System Documentation
PPTX
Student information system project
DOCX
hotel management dbms.docx
DOC
College management-system
PDF
PhD Thesis_Digital Media Advertising Attribution
PPT
Airline reservation system 1
PPT
Air ticket reservation system presentation
PPTX
Result Management System
Airline Reservation System Documentation
Student information system project
hotel management dbms.docx
College management-system
PhD Thesis_Digital Media Advertising Attribution
Airline reservation system 1
Air ticket reservation system presentation
Result Management System

Similar to Computer science project (20)

DOCX
cbse 12 computer science IP
DOCX
Report Card making BY Mitul Patel
PDF
Railway reservation(c++)
DOCX
cbse 12 computer science investigatory project
DOCX
cbse 12 computer science investigatory project
PDF
The railway ticket service c++ project class 12
DOCX
C.S. project report on railway ticket reservation
PDF
Computer project final for class 12 Students
PDF
KUMARPAWAN (2)-1-1.pdf
DOCX
PDF
Computer Science Investigatory Project Class 12
PDF
Kirti Kumawat, BCA Third Year
PDF
Final year project working documentation 2020
PDF
-Class-12-Project-Railway-Reservation.pdf
DOCX
Cs investrigatory project
PDF
Online_Examination
PPTX
blackbox01 (1).pptx
PDF
KUMARPAWAN (2).pdf
PDF
Reshma Kodwani , BCA Third Year
PDF
computerscience-170129081612.pdf
cbse 12 computer science IP
Report Card making BY Mitul Patel
Railway reservation(c++)
cbse 12 computer science investigatory project
cbse 12 computer science investigatory project
The railway ticket service c++ project class 12
C.S. project report on railway ticket reservation
Computer project final for class 12 Students
KUMARPAWAN (2)-1-1.pdf
Computer Science Investigatory Project Class 12
Kirti Kumawat, BCA Third Year
Final year project working documentation 2020
-Class-12-Project-Railway-Reservation.pdf
Cs investrigatory project
Online_Examination
blackbox01 (1).pptx
KUMARPAWAN (2).pdf
Reshma Kodwani , BCA Third Year
computerscience-170129081612.pdf
Ad

Recently uploaded (20)

PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Lesson notes of climatology university.
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
Cell Types and Its function , kingdom of life
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
Institutional Correction lecture only . . .
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
RMMM.pdf make it easy to upload and study
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Pharma ospi slides which help in ospi learning
PDF
Complications of Minimal Access Surgery at WLH
Pharmacology of Heart Failure /Pharmacotherapy of CHF
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Module 4: Burden of Disease Tutorial Slides S2 2025
102 student loan defaulters named and shamed – Is someone you know on the list?
2.FourierTransform-ShortQuestionswithAnswers.pdf
Lesson notes of climatology university.
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Cell Types and Its function , kingdom of life
GDM (1) (1).pptx small presentation for students
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Institutional Correction lecture only . . .
Microbial diseases, their pathogenesis and prophylaxis
Abdominal Access Techniques with Prof. Dr. R K Mishra
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
RMMM.pdf make it easy to upload and study
O5-L3 Freight Transport Ops (International) V1.pdf
Anesthesia in Laparoscopic Surgery in India
Pharma ospi slides which help in ospi learning
Complications of Minimal Access Surgery at WLH
Ad

Computer science project

  • 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
  • 5. CONTENTS 1. HEADER FILES USED 2. FILES GENERATED 3. WORKING DESCRIPTION 4. CODING 5. OUTPUT SCREENS 6. CONCLUSION 7. BIBLIOGRAPHY
  • 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
  • 9. CODING #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> #include<iostream.h> #include<time.h> #include<iomanip.h> #include<fstream.h> char f[10]="f"; char s[10]="s"; int addr,ad,flag,f1,d,m,i,amt; float tamt; class login { public: char id[100]; char pass[100]; char *password; void getid() { cout<<"Enter your id:";gets(id); password=getpass("Enterthe password:"); strcpy(pass,password); }
  • 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;
  • 11. } void displaydetail() { cout<<tno<<"t"<<tname<<"t"<<bp<<"t"<<dest<<"t"; cout<<c1<<"t"<<c1fare<<"t"<<c2<<"t"<<c2fare<<"t"; cout<<d<<"-"<<m<<"-"<<y<<"t"<<endl; } }; class reser { public: int pnr; int tno; char tname[100]; char bp[10]; char dest[100]; char pname[10][100]; int age[20]; char clas[10]; int nosr; int i; int d,m,y; int con; float amc; void getresdet() { cout<<"Enter the details as followsn";
  • 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";
  • 15. cout<<"*****************************************n"; } }; void manage(); void can(); void user(); void database(); void res(); void reserve(); void displaypassdetail(); void cancell(); void enquiry(); void main() { clrscr(); int ch; cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n"; cout<<".......WELCOME TO RAILWAYRESERVATION SYSTEM..........n"; cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n"; do { cout<<"^^^^^^^^^^^^^^^^^^^^^^MAIN MENU^^^^^^^^^^^^^^^^^^^^n"; cout<<"1.Adminmoden2.Usermoden3.Exitn"; cout<<"Enter your choice:"; cin>>ch; cout<<endl; switch(ch) {
  • 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)
  • 20. { if(a.c1>=b.nosr) { amt=a.c1fare; addr=f1.tellg(); ad=sizeof(a.c1); f1.seekp(addr-(7*ad)); a.c1=a.c1-b.nosr; f1.write((char *) & a.c1,sizeof(a.c1)); if(b.con==1) { cout<<"Concessioncategory:MILITARYPERSONNELn"; b.amc=b.nosr*((amt*50)/100); } else if(b.con==2) { cout<<"Concessioncategory:SENIOR CITIZENn"; b.amc=b.nosr*((amt*60)/100); } else if(b.con==3) { cout<<"Concessioncategory:CHILDERNBELOW FIVEn"; b.amc=0.0; } else if(b.con==4) { cout<<"You cannot get any concessionn";
  • 21. b.amc=b.nosr*amt; } srand((unsigned) time(&t)); b.pnr=rand(); f2.write((char *) & b,sizeof(b)); b.displayresdet(); cout<<"------------------------------------------------------n"; cout<<"--------------Your ticket is reserved-----------n"; cout<<"-----------------End of reservation menu-------n"; } else { cout<<"**********Sorry req seats not available********n"; } } else if(strcmp(b.clas,s)==0) { if(a.c2>=b.nosr) { amt=a.c2fare; addr=f1.tellg(); ad=sizeof(a.c2); f1.seekp(addr-(5*ad)); a.c2=a.c2-b.nosr; f1.write((char *) & a.c2,sizeof(a.c2)); if(b.con==1) { cout<<"Concessioncategory:MILITARYPRESONNELn";
  • 22. b.amc=b.nosr*((amt*50)/100); } else if(b.con==2) { cout<<"Concessioncategory:SENIOR CITIZENn"; b.amc=b.nosr*((amt*60)/100); } else if(b.con==3) { cout<<"Concessioncategory:CHILDERNBELOW FIVEn"; b.amc=0.0; } else if(b.con==4) { cout<<"You cannot get any concessionn"; b.amc=b.nosr*amt; } f2.write((char *) & b,sizeof(b)); b.displayresdet(); cout<<"---------------------------------------n"; cout<<"--------Your ticket is reserved--------n"; cout<<"------------End of reservation---------n"; } else { cout<<"********Sorry req no of seats not available*******n"; }
  • 23. } getch(); goto h; } else { flag=0; } } if(flag==0) { cout<<"............Wrong train no......................n"; cout<<"......Enter the train no from the data base.....n"; } f1.close(); f2.close(); getch(); h: } void displaypassdetail() { fstream f; reser b; f.open("p.txt",ios::in|ios::out|ios::binary); f.seekg(0); while(f.read((char *) & b,sizeof(b))) { b.displayresdet();
  • 24. } f.close(); getch(); } void enquiry() { fstream f; f.open("t.txt",ios::in|ios::out|ios::binary); detail a; while(f.read((char *) & a,sizeof(a))) { a.displaydetail(); } getch(); } void cancell() { detail a; reser b; canc c; fstream f1,f2,f3; f1.open("t.txt",ios::in|ios::out|ios::binary); f2.open("p.txt",ios::in|ios::out|ios::binary); f3.open("cn.txt",ios::in|ios::out|ios::binary); cout<<"**********CANCELLATIONMENU*********n"; c.getcancdet(); while(f2.read((char *) & b,sizeof(b))) {
  • 25. if(b.pnr==c.pnr) { c.tno=b.tno; strcpy(c.tname,b.tname); strcpy(c.bp,b.bp); strcpy(c.dest,b.dest); c.nosc=b.nosr; for(int j=0;j<c.nosc;j++) { strcpy(c.pname[j],b.pname[j]); c.age[j]=b.age[j]; } strcpy(c.clas,b.clas); if(strcmp(c.clas,f)==0) { while(f1.read((char *) & a,sizeof(a))) { if(a.tno==c.tno) { a.c1=a.c1+c.nosc; d=a.d; m=a.m; addr=f1.tellg(); ad=sizeof(a.c1); f1.seekp(addr-(7*ad)); f1.write((char *) & a.c1,sizeof(a.c1)); tamt=b.amc; if((c.d==d)&&(c.m==m))
  • 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";
  • 28. } goto h; c.displaycancdet(); } } } } else { flag=0; } } h: if(flag==0) { cout<<"Enter the correctpnr non"; } f1.close(); f2.close(); f3.close(); getch(); } void can() { int ch; do { cout<<".................CANCELLATIONMENU.........n";
  • 29. cout<<"1.Cancelln2.Returnto the main menun"; cout<<"Enter your choice:"; cin>>ch; cout<<endl; switch(ch) { case 1: cancell(); break; } }while(ch==1); getch(); } void user() { login a; int ch; cout<<"*****************************************************n"; cout<<"***********WELCOME TO THE USER MENU**n"; cout<<"****************************************************n"; char *password; fstream f; f.open("id.txt",ios::in|ios::out|ios::binary); char id[100]; puts("Enter your id:");gets(id); password=getpass("Enteryour password:"); while(f.read((char *) & a,sizeof(a))) {
  • 30. if((strcmp(a.id,id)==0)&&(strcmp(a.pass,password)==0)) { do { cout<<"1.Reserven2.Cancelln3.Enquiryn4.Returnto the main menun"; cout<<"Enter your choice:"; cin>>ch; cout<<endl; switch(ch) { case 1: reserve(); break; case 2: cancell(); break; case 3: enquiry(); break; } }while(ch<=3); goto j; } else { d=1; } } if(d==1)
  • 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
  • 47. Bibliography 1 . https://www.google.co.in/ 2 . https://en.wikipedia.org/ 3 . Computer scirnce with C++ by Sumita arora