A Project Report On
“Railway Ticket Reservation”
Submitted By
SHAHBAN ALI
Class: XII Science
Under the Guidance of
Mr. M.K Singh
PGT (Computer Science)
Department of Computer Science
Kendriya Vidyalaya Khagaria.
Department of Computer Science
Kendriya Vidyalaya Khagaria.
CERTIFICATE
This is to certify that SHAHBAN ALI of Class XII Science has
prepared the report on the Project entitled “Railway Ticket
Reservation”. The report is the result of his efforts & endeavors.
The report is found worthy of acceptance as final project report for
the subject Computer Science of Class XII. He has prepared the
report under my guidance.
(Mr. M.K Singh)
PGT (Computer Science)
Department of Computer Science
Kendriya Vidyalaya Khagaria.
Department of Computer Science
Kendriya Vidyalaya Khagaria
CERTIFICATE
The project report entitled
“Railway Ticket Reservation”,
Submitted by SHAHBAN ALI of Class XII Science for the
C.B.S.E Senior Secondary Examination class XII of
Computer Science at Kendriya Vidyalaya Khagaria has
been examined.
SIGNATURE OF EXAMINER
DECLARATION
I hereby declare that the project work entitled “Railway
Ticket Reservation”, submitted to Department of
Computer Science, Kendriya Vidyalaya Khagaria is
prepared by me. All the coding are result of my personal
efforts.
SHAHBAN ALI
Class XII Science
ACKNOWLEDGEMENT
I would like to express a deep sense of thanks & gratitude to my
project guide Mr. M.K Singh Sir for guiding me 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 Shri Yeshdeep Rohilla, 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 classmates for their timely help & support for
compilation of this 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.
SHAHBAN ALI
Class: XII Science
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() function
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 Railway 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<fstream.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<process.h>
char from[30],to[30];
void detail()
{
cout<<"From"<<endl;
gets(to);
cout<<"To"<<endl;
gets(from);
}
class railways
{
char station[30];
unsigned int
distance; float fare;
public:
void ad_data()
{
cout<<"Enter Railway Station
name"<<endl; gets(station);
cout<<"enter its distance from
Jammu Tawi"<<endl; cin>>distance;
}
void amount(int a,int b,int c)
{
cout<<"total distance="<<fabs((a-b))<<"\ncharges
per/km="<<c; fare=fabs((a-b))*c;
cout<<"\nticket cost ="<<fare;
}
unsigned int dist()
{
return distance;
}
char* station_v()
{
return station ;
}
void modify()
{
cout<<"\nEnter new railway station\n";
gets(station);
cout<<"\nenter its distance from
jammu tawi\n"; cin>>distance;
}
}tr;
void main()
{
clrscr();
unsigned int per_km=5,choice,
d1=0,d2=0,i; char station_searched[30];
while(1)
{
clrscr();
cout<<"\n\t\t\tWELCOME TO INDIAN RAILWAYS\n";
for(i=0;i<80;i++)
{
cout<<"-";
}
cout<<"Enter your choice \n\t1:->Add new railway
station\n\t2:->Book ticket"<<endl;
cout<<"\t3:->Change per km rates\n\t4:->modify database
of train\n\t5:->exit\n";
for(i=0;i<80;i++)
{
cout<<"-";
}
cin>>choice;
while(choice==1)
{
ofstream
of1("train.dat",ios::binary|ios::app);
tr.ad_data();
of1.write((char*)&tr,sizeof(tr));
of1.close();
break;
}
while(choice==2)
{
ifstream
of1("train.dat",ios::binary); detail();
while(of1)
{
of1.read((char*)&tr,sizeof(tr));
if(0==stricmp(from,tr.station_v()))
{
d1=tr.dist();
}
if(0==stricmp(to,tr.station_v()))
{
d2=tr.dist();
}
if(d1 && d2)
{
tr.amount(d1,d2,per_km);
getch();
break;
}
if(of1.eof())
{
cout<<"\nstations not found check your spelling\n";
getch();
}
}
of1.close();
break;
}
if(choice==3)
{
cout<<"Enter new per km
rates"; cin>>per_km;
}
if(choice==4)
{
cout<<"enter the railway station to be changed";
gets(station_searched);
ifstream f1("train.dat",ios::binary);
while(f1 )
{
f1.read((char*)&tr,sizeof(tr));
long pos=f1.tellg();
if(0==strcmp(station_searched,tr.station_v()))
f1.seekg((-1*sizeof(tr),ios::cur));
tr.modify();
f1.close();
ofstream f1("train.dat",ios::app);
f1.seekp(pos,ios::beg);
f1.write((char*)&tr,sizeof(tr));
cout<<"record modified";
f1.close();
break;
else if(f1.eof())
cout<<"\nStation not
found\n"; getch();
}
if(choice==5)
{
cout<<"\nTHANK YOU FOR
USING INDIAN RAILWAYS ";
getch();
exit(0);
if(choice!=1&&choice!=2&&choice!=3&&cho
ice!=4&&choice!=5)
{
cout<<"entered wrong choice
PROGRAM IS ABORTING!!!!!!"; getch();
exit(0);
getch();
}
OUTPUT
1. WELCOME SCREEN
2. ADD NEW RAILWAY STATION
3. TO BOOK TICKET
4. TO CHANGE PER KM RATES
5. TO MODIFY DATABASE OF TRAIN
6. TO EXIT
BIBLIOGRAPHY
1 http://www.google.com
2 http://en.wikipedia.org
3 Computer Science with C++ by Sumita Arora
4 Object Oriented Programming by Robert Lafore
5 www.bOtskOOL.com