Vous êtes sur la page 1sur 22

#include<fstream.

h>

#include<conio.h>

#include<string.h>

#include<stdio.h>

#include<DOS.h>

#include<PROCESS.h>

class passenger //CLASS CONTAINING PASSENGER DETAILS

public:

char name[30];

int age;

int bn,sn;

char gen;

int d;

int hrs;

char des,dep;

long int tn;

int pass[6];

void input() //FUNCTION TO INPUT BASIC DETAILS

cout<<"\n\n ENTER THE PASSENGER'S NAME : ";

gets(name);

cout<<"\n\n ENTER THE PASSENGER'S AGE : ";

cin>>age;

cout<<"\n\n CHOOSE YOUR GENDER : ";

cout<<"\n\n M - MALE";
cout<<"\n\n F - FEMALE\n\n";

cout<<"\n ENTER : ";

cin>>gen;

if((gen!='M')&&(gen!='m')&&(gen!='F')&&(gen!='f'))

clrscr();

cout<<"\n * * INPUT ERROR * *\n";

cout<<"\n CHOOSE YOUR GENDER : ";

cout<<"\n\n M - MALE";

cout<<"\n F - FEMALE\n\n";

cout<<" ENTER : ";

cin>>gen;

void loc(char l) //FUNCTION TO PRINT VARIOUS JUNCTIONS

if(l=='1')cout<<"COIMBATORE";

if(l=='2')cout<<"CHENNAI";

if(l=='3')cout<<"TRICHY";

void output() //FUNCTION TO DISPLAY PASSENGER DETAILS

clrscr();

cout<<"\n PASSENGER DETAILS";

cout<<"\n\n NAME : "<<name;

cout<<"\n AGE : "<<age;


cout<<"\n GENDER : ";

if(gen=='m'||gen=='M')cout<<"MALE";

else cout<<"FEMALE";

cout<<"\n TICKET NUMBER : "<<tn;

cout<<"\n DEPARTURE AIRPORT : ";

loc(dep);

cout<<"\n DESTINATION : ";

loc(des);

cout<<"\n FLIGHT NUMBER : "<<bn;

cout<<"\n SEAT NUMBER : "<<sn;

cout<<"\n DATE OF DEPARTURE : "<<d<<" . JUNE . 2018";

cout<<"\n TIME OF DEPARTURE : "<<hrs<<" : 00 HRS";

}p;

class Flights //CLASS CONTAINING FLIGHT DETAILS

public:

int Flightn;

int day,time;

int s[48];

}b[180];

void home();

int fix(char z,char x)

int zx;
switch(z)

case '1':if(x=='2') zx=1;

else zx=2;break;

case '2':if(x=='1') zx=3;

else zx=4;break;

case '3':if(x=='1') zx=5;

else zx=6;

return zx;

char stat() //FUNCTION TO SELECT DEPARTURE AND DESTINATION

char n;

cout<<"\n\n\n 1 . COIMBATORE";

cout<<"\n\n 2 . CHENNAI";

cout<<"\n\n 3 . TRICHY";

cout<<"\n\n\n PRESS THE CORRESPNDING NUMBER TO PROCEED : ";

cin>>n;

return n;

void book() //FUNCTION TO BOOK TICKETS

ifstream er("ABDe.txt");

while(er.read((char*)&p,sizeof(p)))

b[(p.d-1)*6+p.bn-1].s[p.sn-1]=0;
er.close();

int d1,hr1;

char des1,dep1;

int pass1[6],pass2[6];

int bn1,sn1;

char ok;

textcolor(WHITE);

textbackground(BLUE+1);

clrscr();

cout<<"\n WELCOME TO THE TICKET BOOKING PAGE";

cout<<"\n\n\n ENTER THE DATE OF DEPARTURE : ";

cin>>d1;

if((d1%2)==0) hr1=6;

else hr1=18;

cout<<"\n\n THE TIME OF YOUR DEPARTURE WILL BE "<<hr1<<":00 HRS";

cout<<"\n\n\n ARE YOU COMFORTABLE WITH THE TIMINGS ( Y / N ) : ";

cin>>ok;

if(ok!='Y'&&ok!='y')home();

clrscr();

cout<<"\n ENTER YOUR DEPARTURE AIRPORT :";

dep1=stat();

while(dep1!='3'&&dep1!='2'&&dep1!='1')

clrscr();

cout<<"\n * * INPUT ERROR * *";

cout<<"\n\n\n ENTER YOUR DEPARTURE AIRPORT :";

dep1=stat();

}
clrscr();

cout<<"\n ENTER YOUR DESTINATION :";

des1=stat();

while((des1!='1'&&des1!='2'&&des1!='3')||dep1==des1)

clrscr();

cout<<"\n * * INPUT ERROR * *";

cout<<"\n\n ENTER YOUR DESTINATION :";

des1=stat();

int temp;

bn1=fix(dep1,des1);

for(int g=0;g<180;g++)

if((b[g].Flightn==bn1)&&(b[g].day==d1))

temp=g;

int u=0;

for(int v=0;v<40;v++)

if(b[temp].s[v]!=0)u++;

clrscr();

if(u==0)

{cout<<"\n\n\n * * SORRY * *";

cout<<"\n\n\n\n * * NO SEATS AVAILABLE * *";

cout<<"\n\n\n\n PRESS ANY KEY TO RETURN TO HOME PAGE:";

getchar();

home();

clrscr();

cout<<"\n\n THE FLIGHT YOU WILL BE TRAVELLING IS : FLIGHT NUMBER : "<<bn1;


E1:

cout<<"\n\n\n SET YOUR PASSWORD FOR YOUR CURRENT BOOKINGS :";

cout<<"\n\n\n ENTER A 6 DIGIT PASSWORD : ";

for(int yu=0;yu<6;yu++)

pass1[yu]=getch();

cout<<"*";

getchar();

cout<<"\n\n RE - ENTER THE PASSWORD FOR CONFIRMATION : ";

for(int you=0;you<6;you++)

pass2[you]=getch();

cout<<"*";

getchar();

if(pass1[0]!=pass2[0]||pass1[1]!=pass2[1]||pass1[2]!=pass2[2]||pass1[3]!=pass2[3]||pass1[4]!
=pass2[4]||pass1[5]!=pass2[5])

clrscr();

cout<<"\n\n * * INPUT ERROR * *";

cout<<"\n\n\n TRY AGAIN";

goto E1;

char ch='y';

int ct=1;

cout<<"\n\n\n PRESS ANY KEY TO CONTINUE : ";

getchar();
ofstream f("ABDe.txt",ios::app);

while(ch=='y'||ch=='Y')

clrscr();

cout<<"\n FOR PASSENGER : "<<ct<<"\n";

ct++;

p.input();

for(int hj=0;p.name[hj]!='0';hj++)

if(p.name[hj]!=0&&((int)p.name[hj])>96)p.name[hj]=(int)p.name[hj]-32;

p.des=des1;

p.dep=dep1;

p.hrs=hr1;

p.d=d1;

p.pass[0]=pass1[0];

p.pass[1]=pass1[1];

p.pass[2]=pass1[2];

p.pass[3]=pass1[3];

p.pass[4]=pass1[4];

p.pass[5]=pass1[5];

p.bn=bn1;

clrscr();

cout<<"\n\n SELECT YOUR DESIRED SEAT ( 0 - REPRESENTS RESERVED SEATS ) :\n\n";

for(int zx=0;zx<40;zx++)

cout<<" | ";

if((b[temp].s[zx]/10)==0)cout<<" "<<b[temp].s[zx]<<" |";

else cout<<b[temp].s[zx]<<" |";

if((zx+1)%2==0)cout<<"\t";
if((zx+1)%4==0)cout<<"\n";

cout<<"\n\n ENTER YOUR SEAT NUMBER : ";

cin>>sn1;

while(b[temp].s[sn1-1]==0)

clrscr();

cout<<"\n * * INPUT ERROR * *";

cout<<"\n\n SELECT YOUR DESIRED SEAT ( 0 - REPRESENTS RESERVED SEATS ) :\n\n";

for(int zxc=0;zxc<40;zxc++)

cout<<" | ";

if((b[temp].s[zxc]/10)==0)cout<<" "<<b[temp].s[zxc]<<" |";

else cout<<b[temp].s[zxc]<<" |";

if((zxc+1)%2==0)cout<<"\t";

if((zxc+1)%4==0)cout<<"\n";

cout<<"\n\n ENTER YOUR SEAT NUMBER : ";

cin>>sn1;

p.sn=sn1;

b[temp].s[sn1-1]=0;

p.tn=des1+dep1+100*sn1+10000*bn1+1000000*d1;

f.write((char*)&p,sizeof(p));

clrscr();

cout<<"\n\n\n\n YOUR TICKET NUMBER IS : "<<p.tn;

cout<<"\n\n\n\n PRESS 'Y' TO CONTINUE BOOKING TICKETS : ";

cin>>ch;
}

f.close();

cout<<"\n\n\n PRESS ANY KEY TO RETURN TO HOME PAGE :";

getchar();

home();

void venue() //FUNCTION TO VIEW VENUES AND DEPARTING TIMINGS

int date,ta;

textcolor(WHITE);

textbackground(MAGENTA);

clrscr();

cout<<"\n VENUES";

cout<<"\n\n\n AVAILABLE DEPARTURE AIRPORTS :";

cout<<"\n\n 1 . COIMBATORE";

cout<<"\n\n 2 . CHENNAI";

cout<<"\n\n 3 . TRICHY";

cout<<"\n\n\n AVAILABLE DESTINATIONS :";

cout<<"\n\n 1 . COIMBATORE";

cout<<"\n\n 2 . CHENNAI";

cout<<"\n\n 3 . TRICHY";

cout<<"\n\n\n PRESS ANY KEY TO CONTINUE:";

getchar();

clrscr();

f6:

cout<<"\n\n\n ENTER THE DATE OF DEPARTURE : ";

cin>>date;
if(date>30)

clrscr();

cout<<"\n * * INPUT ERROR * *";

goto f6;

if((date%2)==0) ta=6;

else ta=18;

cout<<"\n\n\n\n ALL THE FLIGHTS BEGIN THEIR JOURNEY BY "<<ta<<":00 HRS IN THE ENTERED DATE";

cout<<"\n\n\n\n\n PRESS ANY KEY TO RETURN TO HOME PAGE : ";

getchar();

home();

int password(int pw[]) //FUNCTION TO CHECK PASSWORD

int ps[6];

int a=0;

clrscr();

cout<<"\n ENTER YOUR PASSWORD TO PROCEED : ";

cout<<"\n\n\n ENTER THE 6 DIGIT PASSWORD : ";

for(int qa=0;qa<6;qa++)

ps[qa]=getch();

cout<<"*";

getch();

if(ps[1]==pw[1]&&ps[2]==pw[2]&&ps[3]==pw[3]&&ps[4]==pw[4]&&ps[5]==pw[5]&&ps[0]==pw[0])
a++;

else

for(int u=2;u<=5;u++)

clrscr();

cout<<"\n\n * * WRONG PASSWORD * * ";

cout<<"\n\n * * TRY AGAIN * *";

cout<<"\n\n * ATTEMPTS REMAINING * : "<<6-u;

cout<<"\n\n\n ENTER THE 6 DIGIT PASSWORD : ";

for(int ty=0;ty<6;ty++)

ps[ty]=getch();

cout<<"*";

getch();

if(ps[1]==pw[1]&&ps[2]==pw[2]&&ps[3]==pw[3]&&ps[4]==pw[4]&&ps[5]==pw[5]&&ps[0]==pw[0])

a++;

break;

return a;

void view() //FUNCTION TO VIEW DETAILS ABOUT RESERVED TICKETS

int u=0,a1=0;

textcolor(BLACK);
textbackground(BLUE+2);

clrscr();

E2:

cout<<"\n VIEWING PAGE";

cout<<"\n\n YOUR TICKET CAN BE VIEWED WITH THE FOLLOWING DETAILS :\n\n";

cout<<"\n\n 1 . FLIGHT NUMBER";

cout<<"\n\n 2 . SEAT NUMBER";

cout<<"\n\n 3 . DATE OF DEPARTURE";

cout<<"\n\n\n\n ENTER ANY KEY TO PROCEED : ";

getchar();

int bn2,sn2,d2;

clrscr();

cout<<"\n\n ENTER THE FLIGHT NUMBER : ";

cin>>bn2;

cout<<"\n\n ENTER THE SEAT NUMBER : ";

cin>>sn2;

cout<<"\n\n ENTER THE DATE : ";

cin>>d2;

ifstream fd("ABDe.txt");

while(fd.read((char*)&p,sizeof(p)))

if((p.bn==bn2)&&(p.sn==sn2)&&(p.d==d2))

u=1;

break;

fd.close();
if(u==1)

a1=password(p.pass);

getchar();

if(a1==0)

clrscr();

cout<<"\n\n YOU HAVE ENTERED THE WRONG PASSWORD SEVERAL TIME";

cout<<"\n\n\n TRY AGAIN LATER";

cout<<"\n\n\n PRESS ANY KEY TO RETURN TO HOME PAGE : ";

getchar();

home();

else

clrscr();

p.output();

cout<<"\n\n PRESS ANY KEY TO RETURN TO HOME PAGE : ";

getchar();

home();

else if(u==0)

clrscr();

cout<<"\n\n\n * * SORRY NOT FOUND * *";

cout<<"\n\n\n\n ENTER ANY KEY TO RETURN TO HOME PAGE : ";

getchar();
home();

void cancel() //FUNCTION TO CANCEL RESERVED TICKETS

textcolor(WHITE);

textbackground(BLUE+3);

int b3,s3,d3;

clrscr();

cout<<"\n TICKET CANCELLATION";

cout<<"\n\n ENTER THE FLIGHT NUMBER : ";

cin>>b3;

cout<<"\n\n ENTER THE SEAT NUMBER : ";

cin>>s3;

cout<<"\n\n ENTER THE DATE : ";

cin>>d3;

int y=0;

ifstream fd("ABDe.txt");

while(fd.read((char*)&p,sizeof(p)))

if((p.bn==b3)&&(p.sn==s3)&&(p.d==d3))y=1;

fd.close();

if(y==0)

clrscr();

cout<<"\n\n\n SORRY NOT FOUND";


cout<<"\n\n\n PRESS ANY KEY TO RETURN TO HOME PAGE : ";

getchar();

home();

int as=password(p.pass);

getchar();

if(as==0)

clrscr();

cout<<"\n YOU HAVE ENTERED THE WRONG PASSWORD SEVERAL TIME";

cout<<"\n\n\n TRY AGAIN LATER ";;

cout<<"\n\n\n PRESS ANY KEY TO RETURN TO HOME PAGE : ";

getchar();

home();

ifstream q("ABDe.txt");

ofstream w("TE.txt");

while(q.read((char*)&p,sizeof(p)))

if(p.bn==b3&&p.sn==s3&&p.d==d3)

clrscr();

char fg;

p.output();

cout<<"\n\n IS THIS THE TICKET THAT YOU WANT TO CANCEL ( Y / N ) : ";

cin>>fg;

if(fg=='y'||fg=='Y')

{
cout<<"\n\n THE TICKET HAS BEEN CANCELLED";

b[(p.d-1)*6+p.bn-1].s[p.sn-1]=p.sn;

getchar();

else w.write((char*)&p,sizeof(p));

else w.write((char*)&p,sizeof(p));

q.close();

w.close();

remove("ABDe.txt");

rename("TE.txt","ABDe.txt");

remove("TE.txt");

cout<<"\n\n PRESS ANY KEY TO RETURN TO HOME PAGE : ";

getchar();

home();

void thank() //FUNCTION TO PRINT PATTERN

int a,ij,ji;

textbackground(BLACK);

clrscr();

for(ij=0;ij<=30;ij++)

a=ij;

if((a==15)||(a==31))a++;

textcolor(BLUE+a);
clrscr();

cout<<"\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t ";

for(int ji=0;ji<9;ji++)

textcolor(BLUE+a);

a++;

if((a==15)||(a==31))a++;

switch(ji)

case 0:cprintf("T");break;

case 1:cprintf("H");break;

case 2:cprintf("A");break;

case 3:cprintf("N");break;

case 4:cprintf("K");break;

case 5:cprintf(" ");break;

case 6:cprintf("Y");break;

case 7:cprintf("O");break;

case 8:cprintf("U");

delay(250);

exit(0);

void vc() //TO DISPLAY AVAILABLE SEATS

textcolor(BLUE);
textbackground(MAGENTA);

clrscr();

int das,m;

cout<<"\n VIEW RESERVED SEATS";

f1:

cout<<"\n\n ENTER YOUR DATE OF DEPARTURE : ";

cin>>das;

if(das>30)

clrscr();

cout<<"\n * * INPUT ERROR * *";

goto f1;

f2:

cout<<"\n\n ENTER YOUR DEPARTURE AIRPORT : \n";

char qwer=stat();

if(qwer!='1'&&qwer!='2'&&qwer!='3')

clrscr();

cout<<"\n * * INPUT ERROR * *";

goto f2;

clrscr();

f3:

cout<<"\n\n ENTER YOUR DESTINATION :\n";

char qwert=stat();

if((qwert!='1'&&qwert!='2'&&qwert!='3')||qwert==qwer)

{
clrscr();

cout<<"\n * * INPUT ERROR * *";

goto f3;

int qasd=fix(qwer,qwert);

m=(das-1)*6+qasd-1;

clrscr();

cout<<"\n SEATS : ( 0 - REPRESENTS RESERVED SEATS )\n\n\n";

for(int zx=0;zx<40;zx++)

cout<<" | ";

if((b[m].s[zx]/10)==0)cout<<" "<<b[m].s[zx]<<" |";

else cout<<b[m].s[zx]<<" |";

if((zx+1)%2==0)cout<<"\t";

if((zx+1)%4==0)cout<<"\n";

cout<<"\n\n\n PRESS ANY KEY TO RETURN TO HOME PAGE : ";

getchar();

home();

void home() //FUNCTION TO DISPLAY HOME PAGE

char choice;

textcolor(WHITE);

textbackground(BLUE);

clrscr();

ERROR:
cout<<"\n WELCOME TO HOME PAGE";

cout<<"\n\n\n CHOOSE YOUR TASK :";

cout<<"\n\n 1 . BOOK TICKETS ( BOOKINGS AVAILABLE FOR THE MONTH : JUNE )";

cout<<"\n\n 2 . VIEW VENUES AND DEPARTURE TIMINGS";

cout<<"\n\n 3 . VIEW AVAILABLE SEATS ";

cout<<"\n\n 4 . VIEW RESERVED TICKETS ( PASSWORD REQUIRED )";

cout<<"\n\n 5 . CANCEL A RESERVATION ( PASSWORD REQUIRED )";

cout<<"\n\n 6 . EXIT";

cout<<"\n\n\n ENTER THE CORRESPONDING NUMBER TO PROCEED : ";

cin>>choice;

switch(choice)

case '1':book();break;

case '2':venue();break;

case '3':vc();break;

case '4':view();break;

case '5':cancel();break;

case '6':thank();break;

default:{

clrscr();

cout<<"\nINPUT ERROR";

goto ERROR;

void main()

{
int i,k,p,count=0;

for(i=1;i<=30;i++)

for(p=1;p<=6;p++)

b[count].Flightn=p;

b[count].day=i;

for(k=0;k<40;k++)b[count].s[k]=k+1; //TO ALLOT SEAT NUMBERS FOR EACH FLIGHT

count++;

textbackground(BLUE);

home();

getchar();

Vous aimerez peut-être aussi