0% found this document useful (0 votes)
18 views22 pages

Train Reservation Syatem

Uploaded by

wasimrahamansk69
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views22 pages

Train Reservation Syatem

Uploaded by

wasimrahamansk69
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

# 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

You might also like