# 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 :
inttrainno,nofafseat,nofasseat,noffsseat,nofacseat,nofssseat;
chartrainname[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”);
Void input(); //To input the details
Void display(); //To input the details
1
intreturntr();
intreturnaf();
intreturnas();
intreturnfs();
intreturnac();
intreturnss();
}tr;
int train::returntr()
returntrainno;
int train::returnaf()
returnnofafseat;
int terrain::returnas()
returnnofasseat;
int train::returnfs()
returnnoffsseat;
int train::returnac()
returnnofacseat;
Int train::returns()
2
{
returnnofssseat;
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>>fofafseat;
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 FIRST CLASS SLEEPER SEATS”;
gotoxy(57,16);
cin>>noffsseat;
gotoxy(10,18);
cout<<ENTER THE NUMBER OF A/C CHAIR CAR SEATS”;
gotoxy(57,18);
cin>>nofacseat;
gotoxy(10,20);
cout<<”ENTER THE NUMBER OF SECOND SLEEPER SEATS”;
gotoxy(57,20);
3
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;
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;
4
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);
puts(startingpoint);
gotoxy(10,26);
cout<<”DESTINATION”;
gotoxy(47,26);
puts(destination);
gotoxy(10,28);
cout<<PRESS ANY KEY TO CONTINUE”;
getch();
class tickets
5
{
int resno,toaf,nofaf,toas,nofas,tofs,noffs,toac,nofac,toss,nofss,age;
char status[40],name[40];
public:
ticket();
void reservation(); //For ticket reservation
void cancellation() //For tickrt cancellation
int ret ();
void display(); //To display reservation details
}tick;
tickets::tickets()
resno=0;
toaf=0;
nofaf=0;
toas=0;
nofas=0;
tofs=0;
noffs=0;
toac=0;
nofac=0;
toss=0;
nofss=0;
age=0;
strcpy(status,”/0”);
strcpy(name,”/0”);
int tickets::ret()
6
returnresno;
void tickets::display()
int f=0;
clescr();
ifstreamfn(“Ticket1.dat”,ios::out);
fn.seekg(0);
if(!fn)
cout<<”ERROR IN THE FILE”;
X:
gotoxy(10,10);
cout<<”ENTER THE RESERVATION NO”;
gotoxy(10,12);
int n;
cin>>n;
while(!fn.eof())
fn.read((char*)&tick,size of (tick));
gotoxy(10,10);
if(n==resno)
clrscr();
f=1;
gotoxy(10,10);
cout<<”NAME”;
gotoxy(30,10);
7
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;
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’I I a==’Y’)
clrscr();
8
goto X;
else
gotoxy(10,12);
cout<<”PRESS ANY KEY TO CONTINUE”;
getch();
fn.close();
void tickets::reservation()
clrscr();
gotoxy(10,10);
cout<<”RESERVATION”;
gotoxy(10,12);
cout<<”ENTER THE TRAIN NUMBER”;
inttno,f=0;
cin>>tno;
ofstream file;
ifstream fin(“Train1.dat”,ios::out);
fin.seekg(0);
if(!fin)
clrscr();
gotoxy(10,10);
cout<<”ERROR IN THE FILE”;
9
else
clrscr();
while(!fin.eof())
fin.read((char*)&tr,sizeof (tr));
int z;
z=tr.returntr();
if(tno==z)
f=1;
nofaf=tr.returnnaf();
nofas=tr.returnas();
noffs=tr.returnfs();
nofac=tr.returnac();
nofss=tr.returnss();
if(f==1)
file.open(“Ticket1.dat”,ios::app);
S:
clrscr();
gotoxy(10,10);
cout<<”NAME:”;
gets(name);
gotoxy(10,12);
cout<<”AGE”;
cin>>age;
10
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”;
gotoxy(10,16);
cout<<”3.FIRST CLASS SLEEPER”;
gotoxy(10,18);
cout<<”4.A/C CHAIR CAR”;
gotoxy(10,20);
cout<<”5.SECOND SLEEPER CLASS”;
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”;
11
gotoxy(30,26);
cout<<resno;
getch();
file.write((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();
file.write((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);
12
puts(status);
gotoxy(10,26);
cout<<”RESERVATION NO”;
gotoxy(30,26);
cout<<resno;
getch();
file.write((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();
file.write((char*)&tick, sizeof(tick));
break;
case 3:tofs++;
resno=rand();
strcpy(status,”confirmed”);
gotoxy(10,24);
13
cout<<”STATUS”;
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<”RESERVATION NO”;
gotoxy(30,26);
cout<<resno;
getch();
file.write((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();
file.write((char*)&tick,sizeof(tick));
break;
case 4:toac++;
resno=rand();
if((nofac-toac)>0)
14
{
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();
file.write((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();
file.write((char*)&tick,sizeof(tick));
break;
15
case 5:toss++;
resno=rand();
if((nofss-toss)>0)
strcpy(status,”confirmed”;
gotoxy(10,24);
cout<<”STATUS”;
gotoxy(10,26);
cout<<”RESERVATION NO”;
gotoxy(30,26);
cout<<resno;
getch();
file.write((char*)&tick,sizeof(tick));
break;
else
strcpy(status,”pending”);
gotoxy(10,24);
cout<<”STATUS”;
gotoxty(30,24);
puts(status);
gotoxy(10,26);
cout<<resno;
getch();
file.write((char*)&tick,sizeof(tick));
break;
16
gotoxy(10,28);
cout<<”DO YOU WISH TO CONTIN UE BOOKING TICKETS (Y/N) ?”;
gotoxy(10,30);
char n;
cin>>n;
if(n==’y’I I n==’Y’)
goto S;
if(f==0)
clrscr();
gotoxy(10,10);
delay(1000);
cout<<”ERROR IN THE TRAIN NUMBER ENTERED!!!”;
getch();
file.close();
void tickets::cancellation()
clrscr();
ifstream fin;
fin.open(“Ticket1.dat”,ios::out);
ofstream file;
file.open(“Temp1.dat”,ios::app);
fin.seekg(0);
17
gotoxy(10,10);
cout<<”ENTER THE RESERVATION NO”;
intr,f=0;
cin>>r;
if(!fin)
cout<<”ERROR IN THE FILE !!!”;
while(!fin.eof())
fin.read((char*)&tick,sizeof(tick))
int z;
z=ret();
if(z!=r)
file.write((char*)&tick,sizeof(tick));
if(z==r)
f=1;
file.close();
fin.close();
remove(“Ticket1.dat”);
rename(“Temp1.dat,”Ticket1.dat”);
if(f==0)
gotoxy(10,12);
18
cout<<”NO SUCH RESERVATION IS MADE !!! PLEASE RETRY….”;
getch();
else
gotoxy(10,12);
cout<<”RESERVATION CANCELLED”;
getch();
void main ()
intch,no,I,r=1000,j;
clrscr();
gotoxy(33,22);
cout<<”WELCOME”;
delay(1500);
delay(1000);
Z:
clrscr();
gotoxy(25,8);
cout<<”RAILWAY TICKET RESERVATION”;
gotoxy(25,9);
cout<<”===========================”;
gotoxy(20,15);
cout<<”1.TRAIN DETAILS”;
gotoxy(20,17);
cout<<”2.UPDATE TRAIN DETAILS”;
gotoxy(20,19);
19
cout<<”3.RESERVING A TICKET”;
gotoxy(20,21);
cout<<”4.CANCELLING A TICKET”;
goto: xy(20,23);
cout<<”5.DISPLAY THE PRESENT TICKET STATUS”;
goto:xy(20,25);
cout<<”6.EXIT;
textcolor(1);
goto:xy(20,27);
cout<<”ENTER YOUR CHOICE: “;
cin>>ch;
char n;
switch(ch)
case 1:ifstream fin (“Train1.dat”,ios::out);
fin.seekg(0);
clrscr();
if(!fin)
clrscr();
goto:xy(10,10);
cout<<”ERROR IN THE FILE !!!”;
else
clrscr();
while(!fin.eof())
fin.read((char*)&tr,sizeof(tr));
20
tr.display();
fin.close();
goto Z;
case 2:clrscr();
goto:xy(20,10);
cout<<”ENTER THE PASSWORD”;
cin>>j;
goto:xy(20,30);
cout<<”CHECKING PLEASE WAIT…………”;
delay(2000);
if(j==r)
Y:
ofstreamfout(“Train1.dat”,ios::app);
tr.input();
fout.write((char*)&tick,sizeof(tr));
fout.close();
goto:xy(10,30);
cout<<”DO YOU WISH TO CONTINUE UPDATING ? (Y/N)”;
cin>>n;
textcolor(WHITE);
if(n==’y’I In==’Y’)
goto Y;
goto Z;
else
goto Z;
21
case 3:tick.reservation();
goto Z;
case 4:tick.cancellation();
goto Z;
case 5.tick.display();
goto Z;
case 6.exit(0);
getch();
22