CODING
1|Page
//PROGRAM - TRAIN RESERVATION
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<dos.h>
#include<stdio.h>
#include<fstream.h>
#include<process.h>
#include<stdlib.h>
class train
private :
int trainno,nofafseat,nofasseat,noffsseat,nofacseat,nofssseat;
char trainname[60],startingpoint[60],destination[60];
public :
train()
trainno=0;
nofafseat=0;
nofasseat=0;
noffsseat=0;
nofacseat=0;
nofssseat=0;
strcpy(trainname,"\0");
strcpy(startingpoint,"\0");
strcpy(destination,"\0");
2|Page
}
void input(); //To input the details
void display(); //To display the details
int returntr();
int returnaf();
int returnas();
int returnfs();
int returnac();
int returnss();
}tr;
int train::returntr()
return trainno;
int train::returnaf()
return nofafseat;
int train::returnas()
return nofasseat;
int train::returnfs()
return noffsseat;
int train::returnac()
3|Page
{
return nofacseat;
int train::returnss()
return nofssseat;
void train::input()
clrscr();
gotoxy(10,10);
cout<<"ENTER THE TRAIN NUMBER ";
gotoxy(57,10);
cin>>trainno;
gotoxy(10,12);
cout<<"ENTER THE NUMBER OF A/C FIRST CLASS SEATS";
gotoxy(57,12);
cin>>nofafseat;
gotoxy(10,14);
cout<<"ENTER THE NUMBER OF A/C SECOND CLASS SEATS";
gotoxy(57,14);
cin>>nofasseat;
gotoxy(10,16);
cout<<"ENTER THE NUMBER OF FIRST CLASS SLEEPER SEATS";
gotoxy(57,16);
cin>>noffsseat;
gotoxy(10,18);
4|Page
cout<<"ENTER THE NUMBER OF A/C CHAIR CAR SEATS";
gotoxy(57,18);
cin>>nofacseat;
gotoxy(10,20);
cout<<"ENTER THE NUMBER OF SECOND CLASS SLEEPER SEATS";
gotoxy(57,20);
cin>>nofssseat;
gotoxy(10,22);
cout<<"ENTER THE TRAIN NAME";
gotoxy(57,22);
gets(trainname);
gotoxy(10,24);
cout<<"ENTER THE STARTING POINT ";
gotoxy(57,24);
gets(startingpoint);
gotoxy(10,26);
cout<<"ENTER THE DESTINATION ";
gotoxy(57,26);
gets(destination);
void train::display ()
clrscr();
gotoxy(10,10);
cout<<"TRAIN NUMBER ";
gotoxy(47,10);
cout<<trainno;
5|Page
gotoxy(10,12);
cout<<"TRAIN NAME ";
gotoxy(47,12);
puts(trainname);
gotoxy(10,14);
cout<<"NO OF A/C FIRST CLASS SEATS ";
gotoxy(47,14);
cout<<nofafseat;
gotoxy(10,16);
cout<<"NO OF A/C SECOND CLASS SEATS ";
gotoxy(47,16);
cout<<nofasseat;
gotoxy(10,18);
cout<<"NO OF FIRST CLASS SLEEPER SEATS ";
gotoxy(47,18);
cout<<noffsseat;
gotoxy(10,20);
cout<<"NO OF A/C CHAIR CLASS SEATS ";
gotoxy(47,20);
cout<<nofacseat;
gotoxy(10,22);
cout<<"NO OF SECOND CLASS SLEEPER SEATS ";
gotoxy(47,22);
cout<<nofssseat;
gotoxy(10,24);
cout<<"STARTING POINT ";
gotoxy(47,24);
6|Page
puts(startingpoint);
gotoxy(10,26);
cout<<"DESTINATION ";
gotoxy(47,26);
puts(destination);
gotoxy(10,28);
cout<<"PRESS ANY KEY TO CONTINUE ";
getch();
class tickets
int resno,toaf,nofaf,toas,nofas,tofs,noffs,toac,nofac,toss,nofss,age;
char status[40],name[40];
public:
tickets();
void reservation(); //For ticket reservation
void cancellation(); //For ticket cancellation
int ret();
void display(); //To display reservation details
}tick;
tickets::tickets()
resno=0;
toaf=0;
nofaf=0;
toas=0;
nofas=0;
7|Page
tofs=0;
noffs=0;
toac=0;
nofac=0;
toss=0;
nofss=0;
age=0;
strcpy(status,"\0");
strcpy(name,"\0");
int tickets::ret()
return resno;
void tickets::display()
int f=0;
clrscr();
ifstream fn("[Link]",ios::out);
[Link](0);
if(!fn)
cout<<"ERROR IN THE FILE ";
X:
gotoxy(10,10);
cout<<"ENTER THE RESERVATION NO ";
8|Page
gotoxy(10,12);
int n;
cin>>n;
while(![Link]())
[Link]((char*)&tick,sizeof(tick));
gotoxy(10,10);
if(n==resno)
clrscr();
f=1;
gotoxy(10,10);
cout<<"NAME ";
gotoxy(30,10) ;
cout<<name;
gotoxy(10,12);
cout<<"AGE ";
gotoxy(30,12);
cout<<age;
gotoxy(10,14);
cout<<"PRESENT STATUS ";
gotoxy(30,14);
cout<<status;
gotoxy(10,16);
cout<<"RESERVATION NUMBER ";
gotoxy(30,16);
cout<<resno;
9|Page
gotoxy(10,18);
cout<<"PRESS ANY KEY TO CONTINUE ";
getch();
if(f==0)
clrscr();
gotoxy(10,10);
cout<<"UNRECOGINIZED RESERVATION NO !!! WANNA RETRY ?(Y/N) ";
char a;
gotoxy(10,12);
cin>>a;
if(a=='y'||a=='Y')
clrscr();
goto X;
else
gotoxy(10,12);
cout<<"PRESS ANY KEY TO CONTINUE";
getch();
[Link]();
10 | P a g e
void tickets::reservation()
clrscr();
gotoxy(10,10);
cout<<"RESERVATION ";
gotoxy(10,12);
cout<<"ENTER THE TRAIN NO: ";
int tno,f=0;
cin>>tno;
ofstream file;
ifstream fin("[Link]",ios::out);
[Link](0);
if(!fin)
clrscr();
gotoxy(10,10);
cout<<"ERROR IN THE FILE ";
else
clrscr();
while(![Link]())
[Link]((char*)&tr,sizeof(tr));
int z;
z=[Link]();
if(tno==z)
11 | P a g e
{
f=1;
nofaf=[Link]();
nofas=[Link]();
noffs=[Link]();
nofac=[Link]();
nofss=[Link]();
if(f==1)
[Link]("[Link]",ios::app);
S:
clrscr();
gotoxy(10,10);
cout<<"NAME:";
gets(name);
gotoxy(10,12);
cout<<"AGE:";
cin>>age;
clrscr();
gotoxy(10,10);
cout<<"SELECT THE CLASS WHICH YOU WISH TO TRAVEL";
gotoxy(10,12);
cout<<"1.A/C FIRST CLASS " ;
gotoxy(10,14);
cout<<"2.A/C SECOND CLASS " ;
12 | P a g e
gotoxy(10,16);
cout<<"[Link] CLASS SLEEPER " ;
gotoxy(10,18);
cout<<"4.A/C CHAIR CAR " ;
gotoxy(10,20);
cout<<"[Link] CLASS SLEEPER ";
gotoxy(10,22);
int c;
cin>>c;
switch(c)
case 1:toaf++;
resno=rand();
if((nofaf-toaf)>0)
strcpy(status,"confirmed");
gotoxy(10,24) ;
cout<<"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
gotoxy(30,26);
cout<<resno;
getch();
[Link]((char*)&tick,sizeof(tick));
break;
13 | P a g e
}
else
strcpy(status,"pending");
gotoxy(10,24);
cout<<"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
gotoxy(30,26);
cout<<resno;
getch();
[Link]((char*)&tick,sizeof(tick));
break;
case 2:toas++;
resno=rand();
if((nofas-toas)>0)
strcpy(status,"confirmed");
gotoxy(10,24) ;
cout<<"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
14 | P a g e
gotoxy(30,26);
cout<<resno;
getch();
[Link]((char*)&tick,sizeof(tick));
break;
else
strcpy(status,"pending");
gotoxy(10,24);
cout<<"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
gotoxy(30,26);
cout<<resno;
getch();
[Link]((char*)&tick,sizeof(tick));
break;
case 3:tofs++;
resno=rand();
if((noffs-tofs)>0)
strcpy(status,"confirmed");
gotoxy(10,24) ;
15 | P a g e
cout<<"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
gotoxy(30,26);
cout<<resno;
getch();
[Link]((char*)&tick,sizeof(tick));
break;
else
strcpy(status,"pending");
gotoxy(10,24);
cout<<"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
gotoxy(30,26);
cout<<resno;
getch();
[Link]((char*)&tick,sizeof(tick));
break;
case 4:toac++;
16 | P a g e
resno=rand();
if((nofac-toac)>0)
strcpy(status,"confirmed");
gotoxy(10,24) ;
cout<<"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
gotoxy(30,26);
cout<<resno;
getch();
[Link]((char*)&tick,sizeof(tick));
break;
else
strcpy(status,"pending");
gotoxy(10,24);
cout<<"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
gotoxy(30,26);
cout<<resno;
17 | P a g e
getch();
[Link]((char*)&tick,sizeof(tick));
break;
case 5:toss++;
resno=rand();
if((nofss-toss)>0)
strcpy(status,"confirmed");
gotoxy(10,24) ;
cout<<"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
gotoxy(30,26);
cout<<resno;
getch();
[Link]((char*)&tick,sizeof(tick));
break;
else
strcpy(status,"pending");
gotoxy(10,24);
cout<<"STATUS";
gotoxy(30,24);
18 | P a g e
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
gotoxy(30,26);
cout<<resno;
getch();
[Link]((char*)&tick,sizeof(tick));
break;
gotoxy(10,28);
cout<<"DO YOU WISH TO CONTINUE BOOKING TICKETS (Y/N) ? ";
gotoxy(10,30);
char n;
cin>>n;
if(n=='y'||n=='Y')
goto S;
if(f==0)
{clrscr();
gotoxy(10,10);
delay(1000);
cout<<"ERROR IN THE TRAIN NUMBER ENTERED !!!";
getch();
19 | P a g e
}
[Link]();
void tickets::cancellation()
{clrscr();
ifstream fin;
[Link]("[Link]",ios::out);
ofstream file;
[Link]("[Link]",ios::app);
[Link](0);
gotoxy(10,10);
cout<<"ENTER THE RESERVATION NO ";
int r,f=0;
cin>>r;
if(!fin)
cout<<"ERROR IN THE FILE !!!";
while(![Link]())
[Link]((char*)&tick,sizeof(tick));
int z;
z=ret();
if(z!=r)
[Link]((char*)&tick,sizeof(tick));
20 | P a g e
if(z==r)
f=1;
[Link]();
[Link]();
remove("[Link]");
rename("[Link]","[Link]");
if(f==0)
{gotoxy(10,12);
cout<<"NO SUCH RESERVATION IS MADE !!! PLEASE RETRY....";
getch();
else
gotoxy(10,12);
cout<<"RESERVATION CANCELLED";
getch();
void main()
int ch,no,i,r=1000,j;
clrscr();
gotoxy(33,22);
cout<<"WELCOME";
21 | P a g e
delay(1500);
delay(1000);
Z:
clrscr();
gotoxy(25,8) ;
cout<<"RAILWAY TICKET RESERVATION";
gotoxy(25,9);
cout<<"==========================";
gotoxy(20,15) ;
cout<<"[Link] DETAILS";
gotoxy(20,17);
cout<<"[Link] TRAIN DETAILS ";
gotoxy(20,19);
cout<<"[Link] A TICKET ";
gotoxy(20,21);
cout<<"[Link] A TICKET";
gotoxy(20,23);
cout<<"[Link] THE PRESENT TICKET STATUS ";
gotoxy(20,25);
cout<<"[Link]";
gotoxy(20,27);
cout<<"ENTER YOUR CHOICE: ";
cin>>ch;
char n;
switch(ch)
case 1:ifstream fin("[Link]",ios::out);
22 | P a g e
[Link](0);
clrscr();
if(!fin)
clrscr();
gotoxy(10,10);
cout<<"ERROR IN THE FILE !!!";
else
{clrscr();
while(![Link]())
[Link]((char*)&tr,sizeof(tr));
[Link]();
[Link]();
goto Z;
case 2:clrscr();
gotoxy(20,10);
cout<<"ENTER THE PASSWORD " ;
cin>>j;
gotoxy(20,30);
cout<<"CHECKING PLEASE WAIT.....................";
delay(2000);
if(j==r)
23 | P a g e
Y:
ofstream fout("[Link]",ios::app);
[Link]();
[Link]((char*)&tr,sizeof(tr));
[Link]();
gotoxy(10,30);
cout<<"DO YOU WISH TO CONTINUE UPDATING ?(Y/N)";
cin>>n;
textcolor(WHITE);
if(n=='y'||n=='Y')
goto Y;
goto Z;
else
goto Z;
case 3:[Link]();
goto Z;
case 4:[Link]();
goto Z;
case 5:[Link]();
goto Z;
case 6:exit(0);
getch();
24 | P a g e
OUTPUT
25 | P a g e
26 | P a g e
27 | P a g e
28 | P a g e
29 | P a g e
30 | P a g e
31 | P a g e
32 | P a g e
33 | P a g e
34 | P a g e
35 | P a g e
36 | P a g e
37 | P a g e
38 | P a g e
39 | P a g e
40 | P a g e
41 | P a g e
42 | P a g e
43 | P a g e
44 | P a g e
45 | P a g e
46 | P a g e
47 | P a g e
48 | P a g e
49 | P a g e
50 | P a g e