//// PROJECT ON AIR RESERVATION //// HEADER FILES INCLUDED # include <iostream.h> # include <fstream.h> # include <string.h> # include <stdlib.h> # include <stdio.h> # include <ctype.h> # include <dos.h> # include <conio.h> # include <process.h> # include<graphics.h> # include<math.h> # include"a:RAHUL1.h" # include"a:RAHUL2.h" # include"a:RAHUL3.h" # include"a:RAHUL4.h" # include"a:RAHUL5.h" # include"a:RAHUL6.h" # include"a: ahul7.h" # include"a: ahul8.h" # include"a: ahul9.h" # include"a: ahul10.h" # define ANSWER "zxcvbnm" #define MAX [15] //RESOLUTION 600x800 # define DIRECTINPUT_VERSION 0x0800 void drawLoaders(int); void Splash(); void EndAnimation(); struct Star {//Begin Struct int TX; int TY; int Speed; }; void main() { //page 1 static int no_try; char try[15]; clrscr(); gotoxy(22,16); cout<<"a"; puts("Nter Code : "); gotoxy(37,16); gets(try); while(strcmp(try,ANSWER)!=0) { no_try++; if(no_try==1) { clrscr(); cout<<"a"; cout<<"a"; gotoxy(20,16); printf("Unauthorised access prohibited !!!!!!!"); cout<<"a"; cout<<"a"; getch(); } else {puts(" access denied. enter again:aaaa "); gets(try);} exit(0); } goto rest; rest: printf("CHECKING CODE"); delay(1600); printf(" PLEASE"); printf(" WAIT"); delay(3600); end: int gdmode=IBM8514; int gdriver=DETECT,gmode; initgraph(&gdriver,&gmode,"c:\rahul"); // page 2 for(int ff=2;ff<200;ff++) { setcolor(random(ff)); settextstyle(BOLD_FONT,HORIZ_DIR,4); outtextxy(127,200," AcCeSs "); outtextxy(167,250," GrAnTeD ");} setcolor(15); settextstyle(5,HORIZ_DIR,4); outtextxy(187,420," hold on ............ "); delay(2000); outtextxy(187,420," hold on ............ "); outtextxy(187,420," hold on ............ "); delay(3000); cleardevice(); // page 3 setbkcolor(0); drawLoaders(10); // delay(2000); int rad=200,x=330,y=250, c=10; setbkcolor(0); for(int i=0;i<=636;i++) { sound(4500); putpixel(636-i,9,9); putpixel(636-i,11,9); putpixel(636-i,13,9); putpixel(636-i,15,9); putpixel(636-i,17,9); putpixel(636-i,19,9); putpixel(636-i,21,9); putpixel(636-i,23,9); putpixel(636-i,25,9); putpixel(636-i,27,9); putpixel(636-i,454,9); putpixel(i,456,9); putpixel(i,458,9); putpixel(i,460,9); putpixel(i,462,9); putpixel(636-i,464,9); putpixel(636-i,466,9); putpixel(i,468,9); putpixel(i,470,9); putpixel(i,471,9); putpixel(i,473,9); delay(3); nosound(); } for(i=0;i<=600;i++) { sound(2500); putpixel(636,600-i,9); putpixel(634,600-i,9); putpixel(632,600-i,9); putpixel(630,600-i,9); putpixel(628,600-i,9); putpixel(626,600-i,9); putpixel(624,600-i,9); putpixel(622,600-i,9); putpixel(4,i,9); putpixel(6,i,9); putpixel(8,i,9); putpixel(10,i,9); putpixel(12,i,9); putpixel(14,i,9); putpixel(16,i,9); putpixel(18,i,9); delay(3); nosound(); } while(rad >=0) { // x++; y++; setcolor(BLUE); circle(x,y,rad); delay(40); rad=rad-2; } for(int io=0;io<8000;io++) { for(int c=0;c<200;c++) { // gotoxy(13,12); putpixel((io++),random(450),c); } }//} float octave[7]={130.81,146.83,164.81,174.61,196.220,246.94}; int adn; while(!kbhit()) { adn=random(7); sound(octave[adn]*10); delay(190); nosound(); setcolor(11); settextstyle(5,HORIZ_DIR,8); outtextxy(15,170,"''"); outtextxy(610,170,"''"); setcolor(YELLOW); settextstyle(4,HORIZ_DIR,7); outtextxy(20,200,"Air Ticket Reservation "); setcolor(15); settextstyle(5,HORIZ_DIR,3); outtextxy(30,440,"Press Any key To Continue -----)))))"); } // pAGE 4 getch(); cleardevice(); setcolor(9); settextstyle(5,HORIZ_DIR,6); outtextxy(20,13,"designed by "); setcolor(YELLOW); outtextxy(289,13,"rahul sharma "); outtextxy(60,65,"b.c.a Msi Ist year "); settextstyle(16,HORIZ_DIR,5); setcolor(BROWN); outtextxy(180,15," PRESS ANY KEY TO CONTINUE`'''''``"); Splash(); // page 5 cleardevice(); { int il; setbkcolor(0); for(il=0;il<=110;il++) { setcolor(1); circle(310,247,il); delay(5); } for(il=0;il<=100;il++) { setcolor(4); circle(310,247,il); delay(10); nosound(); } setbkcolor(0); setcolor(LIGHTGREEN); settextstyle(11,HORIZ_DIR,8); { outtextxy(250,120,"SUBMITTED TO :: "); for(il=0;il<=600;il++) { sound(3500); putpixel(636,600-il,4); putpixel(635,600-il,4); putpixel(634,600-il,4); putpixel(633,600-il,4); putpixel(4,il,4); putpixel(6,il,4); putpixel(5,il,4); putpixel(3,il,4); delay(1); nosound(); } for(il=0;il<=636;il++) { sound(3500); putpixel(636-il,5,4); putpixel(636-il,3,4); putpixel(636-il,2,4); putpixel(636-il,4,4); putpixel(il,470,4); putpixel(il,472,4); putpixel(il,471,4); putpixel(il,473,4); delay(1); nosound(); } } delay(3000); //settextstyle(4,HORIZ_DIR,5); setcolor(LIGHTGREEN); settextstyle(GOTHIC_FONT,HORIZ_DIR,5); outtextxy(60,225," Mr MANOJ KUMAR "); settextstyle(GOTHIC_FONT,HORIZ_DIR,5); delay(1000); setcolor(YELLOW); settextstyle(16,HORIZ_DIR,5); delay(3000); outtextxy(180,460," C O N T I N U I N G ````'''```'''''``"); delay(3000); outtextxy(180,460," C O N T I N U I N G ````'''```'''''``"); //getch(); clrscr(); cleardevice(); } PASSENGER p; TICKET ticket; RESERVE r; ticket.ADDITION(); int ch1,ch; //starts while(1) { // cleardevice(); graph g; int b,x,y; g.initg(); g.image("c:\rahul\v.bmp"); setcolor(YELLOW); sound(2500); g.showtext(38,160,"01:RESERVATION "); nosound(); sound(3500); g.showtext(38,170,"02:CANCELLATION "); nosound(); sound(2500); g.showtext(38,180,"03:PASSENGER RECORD'S "); nosound(); sound(1500); g.showtext(38,190,"04:ENQUIRY"); nosound(); sound(500); g.showtext(38,200,"05:LIST 'PASSENGERS"); nosound(); sound(7200); g.showtext(38,210,"06:QUIT"); setcolor(LIGHTGREEN); nosound(); sound(1200); g.showtext(455,163.5," NTER UR CHOICE"); nosound(); gotoxy(75,11); cin>>ch; switch(ch) { case 1: cleardevice(); g.image("c:\rahul\v2.bmp"); r.RESERVATION(); settextstyle(7,HORIZ_DIR,3); break; case 2: cleardevice(); g.image("c:\rahul\v3.bmp"); delay(2000); r.CANCELLATION(); clrscr(); break; case 3: cleardevice(); g.image("c:\rahul\v1.bmp"); gotoxy(33,16); cout<<"ENTER YOUR CHOICE "; cin>>ch1; cleardevice(); if(ch1==1) { cleardevice(); p.PASS_INFO(); getch(); } else if(ch1==2) { cleardevice(); p.MODIFY();} else break; clrscr(); break; case 4: cleardevice(); g.image("c:\rahul\v4.bmp"); ticket.ENQUIRY(); // gotoxy(2,23); // cout<<"PRESS ANY KEY TO CONTINUE...."; getch(); cleardevice(); break; // cleardevice(); case 5: cleardevice(); g.image("c:\rahul\v5.bmp"); p.LIST(); break; // cleardevice(); case 6: exit(0); cleardevice(); default: cout<<"ENTER THE CORRECT CHOICE"; getch(); } } } //HEADER FILE 1 // three clases used class TICKET { private: void ADD_RECORD(char[20],char[25],char[25],int,int); public: void ADDITION(void); void ENQUIRY(void); char *FLIGHTNO(int); protected: char fltno[20],from[25],to[25]; int ecofair,exefair; }; //THIS CLASS CONTROLS ALL THE FUNCTIONS RELATED TO PASSENGERS class PASSENGER { public: void ADD_RECORD(int,int,char[36],char[45],int,char,char); void DELETE_TICKET(int); int DELETE_FLIGHT(int); void LIST(void); int LAST_TICKETNO(void); int SEATS(int); int FOUND(int); char *NAME(int); void PASS_INFO(); void MODIFY(); protected: char Class,name[35],address[45],sex; int slno,age,ticketno; }; //THIS IS THE DERIVED CLASS WHICH CONTROLS ALL THE FUNCTIONS //RELATED TO RESERVATION,CANCELLATION,ETC. class RESERVE : public TICKET,public PASSENGER { public: void RESERVATION(void); void CANCELLATION(void); void DISPLAY_TICKET(void); void DELETE_ALL(void); }; //FUNCTION TO ADD GIVEN DATA IN THE TICKET FILE(TICKET.DAT) void TICKET :: ADD_RECORD(char t_fltno[20],char t_from[25],char t_to[15],int t_ecofair,int t_exefair) { fstream file; file.open("TICKET.DAT",ios::app); strcpy(fltno,t_fltno); strcpy(from,t_from); strcpy(to,t_to); ecofair = t_ecofair; exefair = t_exefair; file.write((char*)this,sizeof(TICKET)); file.close(); } //FUNCTION TO RETURN FLIGHT NO. FOR THE GIVEN S.NO char *TICKET :: FLIGHTNO(int sno) { fstream file; file.open("TICKET.DAT",ios::in); int count = 1; while(file.read((char*) this,sizeof(TICKET))) { if (sno == count) break; count++; } file.close(); return fltno; } HEADER FILE 2 //FUNCTION TO GIVE DATA TO ADD RECORDS IN THE TICKET FILE void TICKET :: ADDITION(void) { fstream file; file.open("TICKET.DAT",ios::in); if (!file.fail() ) return; file.close(); ADD_RECORD("KL146","DELHI","MUMBAI",1500,1700); ADD_RECORD("KL146","MUMBAI","DELHI",1500,1700); ADD_RECORD("KL156","DELHI","CALCUTTA",1700,1900); ADD_RECORD("KL156","CALCUTTA","DELHI",1700,1900); ADD_RECORD("KL166","DELHI","MADRAS",2100,2300); ADD_RECORD("KL166","MADRAS","DELHI",2100,2300); ADD_RECORD("KL176","MUMBAI","CALCUTTA",1900,2100); ADD_RECORD("KL176","CALCUTTA","MUMBAI",1900,2100); ADD_RECORD("KL186","MUMBAI","MADRAS",1800,2000); ADD_RECORD("KL186","MADRAS","MUMBAI",1800,2000); ADD_RECORD("KL196","CALCUTTA","MADRAS",1600,1800); ADD_RECORD("KL156","MADRAS","CALCUTTA",1600,1800); clrscr(); } //FUNCTION TO DISPLAY LIST OF FLIGHTS void TICKET :: ENQUIRY(void) { // cleardevice(); fstream file; file.open("TICKET.DAT",ios::in); //gotoxy(30,3); gotoxy(18,5); cout<<"Sno. FLIGHT NO. FROM TO ECO.FAIR EXE.FAIR"; int row = 7,sno = 1; while(file.read((char*)this, sizeof(TICKET))) { gotoxy(18,row); cout<<sno; gotoxy(23,row); cout<<fltno; gotoxy(34,row); cout<<from; gotoxy(44,row); cout<<to; gotoxy(53,row); cout<<ecofair; gotoxy(63,row); cout<<exefair; row++; sno++; } file.close(); } //FUNCTION TO RESERVE TICKET FOR THE PASSENGERS void RESERVE :: RESERVATION(void) { // cleardevice(); // setbkcolor(0); ENQUIRY(); char t1[15],pclass,pname[26],paddress[36],psex,pfltno[10]; int t2,valid,page,tno,sno; PASSENGER p; tno = p.LAST_TICKETNO() + 1; do { valid = 1; gotoxy(3,23); // ////clreol(); cout<<"PRESS <ENTER> TO EXIT"; gotoxy(3,20); // ////clreol(); cout<<"ENTER THE SNO. OF THE FLIGHT : "; gets(t1); t2 = atoi(t1); sno = t2; if(strlen(t1) == 0) return; if(sno < 1 || sno > 12) { valid = 0; gotoxy(3,23); ////clreol(); cout<<"ENTER CORRECTLY"; getch(); } } while(!valid); int i=1; fstream file; file.open("TICKET.DAT",ios::in); while(file.read((char*)this, sizeof(TICKET))) { if(sno == i) break; i++; } file.close(); strcpy(pfltno,fltno); if(p.SEATS(sno)>=250) { gotoxy(5,21); cout<<"7Sorry! SEATS ARE NOT AVAILABLE"; getch(); return; } gotoxy(3,23); ////clreol(); cout<<"E=ECONOMIC,X=EXECUTIVE or PRESS <ENTER> TO EXIT"; do { gotoxy(3,21); ////clreol(); cout<<"BY WHICH CLASS YOU WOULD LIKE TO TRAVEL : "; pclass = getche(); pclass = toupper(pclass); if(pclass == 13) return; } while(pclass !='E' && pclass !='X'); // clrscr(); int rahul=IBM8514; int rahuldriver=DETECT,gmode; initgraph(&rahuldriver,&rahul,"c:\rahul"); cleardevice(); setbkcolor(0); for(i=0;i<=636;i++) { putpixel(636-i,12,12); putpixel(636-i,11,12); putpixel(636-i,13,12); putpixel(636-i,15,12); putpixel(636-i,17,12); putpixel(636-i,19,12); putpixel(636-i,21,12); putpixel(636-i,23,12); putpixel(636-i,25,12); putpixel(636-i,27,12); putpixel(636-i,454,12); putpixel(i,456,12); putpixel(i,458,12); putpixel(i,460,12); putpixel(i,462,12); putpixel(636-i,464,12); putpixel(636-i,466,12); putpixel(i,468,12); putpixel(i,470,12); putpixel(i,471,12); putpixel(i,473,12); delay(3); nosound(); } for(i=0;i<=600;i++) { putpixel(636,600-i,9); putpixel(634,600-i,9); putpixel(632,600-i,9); putpixel(630,600-i,9); putpixel(628,600-i,9); putpixel(626,600-i,9); putpixel(624,600-i,9); putpixel(622,600-i,9); putpixel(4,i,9); putpixel(6,i,9); putpixel(8,i,9); putpixel(10,i,9); putpixel(12,i,9); putpixel(14,i,9); putpixel(16,i,9); putpixel(18,i,9); delay(3); } // gotoxy(72,3); setcolor(YELLOW); settextstyle(2,HORIZ_DIR,5); outtextxy(565,25,"<0>-EXIT"); //cout<<"<0>-EXIT"; //gotoxy(30,2); settextstyle(7,HORIZ_DIR,3); setcolor(YELLOW); outtextxy(220,25,"Reservation"); gotoxy(5,5); cout<<"NAME : "; gotoxy(5,6); cout<<"ADDRESS : "; gotoxy(5,7); cout<<"SEX M/F : "; gotoxy(5,8); cout<<"AGE : "; do { valid=1; gotoxy(5,25); ////clreol(); cout<<"ENTER THE NAME OF THE PASSENGER"; gotoxy(15,5); ////clreol(); gets(pname); if(pname[0] == '0') return; if(strlen(pname) < 1 || strlen(pname) > 25) { valid = 0; gotoxy(5,25); ////clreol(); cout<<"7ENTER CORRECTLY {RANGE : 1 TO 25}"; getch(); } } while(!valid); do { valid = 1; gotoxy(5,25); ////clreol(); cout<<"ENTER THE ADDRESS OF THE PASSENGER"; gotoxy(15,6); ////clreol(); gets(paddress); if(paddress[0] == '0') return; if(strlen(paddress) < 1 || strlen(paddress) > 35) { valid = 0; gotoxy(5,25); ////clreol(); cout<<"7ENTER CORRECTLY {RANGE : 1 TO 35}"; getch(); } } while(!valid); do { gotoxy(5,25); ////clreol(); cout<<"ENTER THE SEX OF THE PASSENGER"; gotoxy(15,7); ////clreol(); psex = getche(); psex = toupper(psex); if(psex == '0') return; } while(psex !='M' && psex !='F' ); do { valid = 1; gotoxy(5,25); ////clreol(); cout<<"ENTER THE AGE OF THE PASSENGER"; gotoxy(15,8); ////clreol(); gets(t1); t2 = atoi(t1); page = t2; if(t1[0] == '0') return; if(page < 1 || page > 100) { valid = 0; gotoxy(5,25); ////clreol(); cout<<"7ENTER CORRECTLY "; getch(); } } while(!valid); // clrscr(); cleardevice(); // setbkcolor(0); for(i=0;i<=636;i++) { putpixel(636-i,YELLOW,YELLOW); putpixel(636-i,23,YELLOW); putpixel(i,460,YELLOW); putpixel(i,462,YELLOW); putpixel(i,473,YELLOW); delay(2); nosound(); } for(i=0;i<=600;i++) { putpixel(636,600-i,YELLOW); putpixel(634,600-i,YELLOW); putpixel(632,600-i,YELLOW); putpixel(8,i,YELLOW); putpixel(10,i,YELLOW); delay(2); } setbkcolor(1); setcolor(YELLOW); float octave[7]={130.81,146.83,164.81,174.61,196.220,246.94}; int adn; while(!kbhit()) { adn=random(7); sound(octave[adn]*10); delay(190); nosound(); gotoxy(33,6); cout<<"TICKET NO. : "<<tno; gotoxy(17,9); cout<<from<<" TO "<<to; gotoxy(45,9); cout<<"FLIGHT NO. : "<<pfltno; gotoxy(20,11); cout<<"PASSENGER NAME : "<<pname; gotoxy(20,13); cout<<"ADDRESS : "<<paddress; gotoxy(20,15); cout<<"SEX : "<<psex; gotoxy(20,17); cout<<"AGE : "<<page; setcolor(15); settextstyle(5,HORIZ_DIR,3); outtextxy(45,420,"Thank U & Have A Happy Journey "); setcolor(15); settextstyle(3,HORIZ_DIR,1); outtextxy(350,365,"25/8/2004 # 1900 Hrs"); gotoxy(45,19); if(pclass == 'E') cout<<"TOTAL FAIR : "<<ecofair; else cout<<"TOTAL FAIR : "<<exefair; } p.ADD_RECORD(tno,sno,pname,paddress,page,psex,pclass); getch(); settextstyle(7,HORIZ_DIR,3); } header file3 // FUNCTION TO ADD THE GIVEN DATA IN THE PASSENGER'S FILE void PASSENGER :: ADD_RECORD (int tno,int sno,char pname[26],char paddress[36],int page,char psex,char pclass) { fstream file; file.open("PASS.DAT",ios::app); ticketno = tno; slno = sno; strcpy(name,pname); strcpy(address,paddress); age = page; sex = psex; Class = pclass; file.write((char*)this,sizeof(PASSENGER)); file.close(); } void PASSENGER :: MODIFY() { int tcno; char t1[15],pclass,pname[26],paddress[36],psex,pfltno[10]; int t2,valid,page,tno,sno; PASS_INFO(); // cleardevice(); setbkcolor(RED); cout<<" ENTER THE TICKET NUMBER OF THE PASSENGER"; cin>>tcno; fstream file; file.open("PASS.DAT",ios::in|ios::out); int m=0; int l; file.read((char*)this,sizeof(PASSENGER)); while(!file.eof()) { m++; if(tcno==ticketno) { l=(m-1)*sizeof(PASSENGER); cout<<l; getch(); clrscr(); cleardevice(); gotoxy(72,3); cout<<"<0>-EXIT"; // gotoxy(34,2); cout<<"RESERVATION"; gotoxy(5,5); cout<<"NAME : "; gotoxy(5,6); cout<<"ADDRESS : "; gotoxy(5,7); cout<<"SEX M/F : "; gotoxy(5,8); cout<<"AGE : "; gotoxy(5,25); //clreol(); cout<<"ENTER THE NAME OF THE PASSENGER"; gotoxy(15,5); //clreol(); gets(pname); gotoxy(5,25); //clreol(); cout<<"ENTER THE ADDRESS OF THE PASSENGER"; gotoxy(15,6); //clreol(); gets(paddress); gotoxy(5,25); //clreol(); cout<<"ENTER THE SEX OF THE PASSENGER"; gotoxy(15,7); //clreol(); psex = getche(); psex = toupper(psex); gotoxy(5,25); //clreol(); cout<<"ENTER THE AGE OF THE PASSENGER"; gotoxy(15,8); //clreol(); gets(t1); t2 = atoi(t1); page = t2; cout<<"CLASS:E(ECONOMIC) OR X(EXECUTIVE)"; pclass=getche(); if(strlen(paddress)!=0) strcpy(address,paddress); if(strlen(pname)!=0) strcpy(name,pname); if(strlen(t1)!=0) age=page; if(psex!=13) sex=psex; if(pclass!=13) Class=pclass; file.seekp(l); file.write((char*)this,sizeof(PASSENGER)); file.close(); return; } else file.read((char*)this,sizeof(PASSENGER)); } } void PASSENGER :: PASS_INFO() { fstream file; file.open("PASS.DAT",ios::in); // cleardevice(); setbkcolor(4); for(int ii=0;ii<=636;ii++) { sound(1455); putpixel(636-ii,12,12); putpixel(636-ii,11,12); putpixel(636-ii,13,12); putpixel(636-ii,15,12); putpixel(636-ii,17,12); putpixel(636-ii,19,12); putpixel(636-ii,21,12); putpixel(636-ii,23,12); putpixel(636-ii,25,12); putpixel(636-ii,27,12); putpixel(636-ii,454,12); putpixel(ii,456,12); putpixel(ii,458,12); putpixel(ii,460,12); putpixel(ii,462,12); putpixel(636-ii,464,12); putpixel(636-ii,466,12); putpixel(ii,468,12); putpixel(ii,470,12); putpixel(ii,471,12); putpixel(ii,473,12); delay(3); nosound(); } for(ii=0;ii<=600;ii++) { sound(2500); putpixel(636,600-ii,9); putpixel(634,600-ii,9); putpixel(632,600-ii,9); putpixel(630,600-ii,9); putpixel(628,600-ii,9); putpixel(626,600-ii,9); putpixel(624,600-ii,9); putpixel(622,600-ii,9); putpixel(4,ii,9); putpixel(6,ii,9); putpixel(8,ii,9); putpixel(10,ii,9); putpixel(12,ii,9); putpixel(14,ii,9); putpixel(16,ii,9); putpixel(18,ii,9); delay(2); nosound(); } settextstyle(2,HORIZ_DIR,7); outtextxy(180,20," PASSENGERS INFORMATION "); // cout<<" ************************** "; gotoxy(2,4); cout<<"T.NO."; gotoxy(11,4); cout<<"S.NO."; gotoxy(25,4); cout<<"NAME"; gotoxy(48,4); cout<<"ADDRESS"; gotoxy(66,4); cout<<"AGE"; gotoxy(70,4); cout<<"SEX"; gotoxy(74,4); cout<<"CLASS"; gotoxy(1,5); cout<<"******************************************************************* ************"; int tno,sno,page; char pname[26],paddress[36],psex,pclass,pfltno[10]; int i=6; while(file.read((char*)this,sizeof(PASSENGER))) { tno=ticketno; sno=slno; strcpy(pname,name); strcpy(paddress,address); page = age; psex = sex; pclass = Class; gotoxy(2,i); cout<<tno; gotoxy(11,i); cout<<sno; gotoxy(20,i); cout<<pname; gotoxy(45,i); cout<<paddress; gotoxy(67,i); cout<<page; gotoxy(71,i); cout<<psex; gotoxy(77,i); cout<<pclass; i++; } file.close(); } //THIS FUNCTION RETURNS THE LAST TICKET NO. IN THE PASSENGER FILE int PASSENGER ::LAST_TICKETNO(void) { fstream file; file.open("PASS.DAT",ios::in); int count = 0; while(file.read((char*)this,sizeof(PASSENGER))) count = ticketno; file.close(); return count; } //THIS FUNCTION RETURNS TOTAL NO. OF SEATS IN THE PASSENGER FILE int PASSENGER :: SEATS(int sno) { fstream file; file.open("PASS.DAT",ios::in); int count = 0; while(file.read((char*)this,sizeof(PASSENGER))) { if(sno == slno) count++; } file.close(); return count; } //THIS FUNCTION RETURNS 0 IF THE TICKET NO. IS NOT FOUND IN THE //PASSENGER FILE int PASSENGER :: FOUND(int tno) { fstream file; file.open("PASS.DAT",ios::in); int found = 0; while(file.read((char*)this,sizeof(PASSENGER))) { if(tno == ticketno) { found = 1; break; } } file.close(); return found; } //THIS FUNCTION RETURNS PASSENGER'S NAME FOR THE GIVEN TICKETNO. char *PASSENGER :: NAME(int tno) { fstream file; file.open("PASS.DAT",ios::in); while(file.read((char*)this,sizeof(PASSENGER))) { if(tno == ticketno) break; } file.close(); return name; } header file 4 //THIS FUNCTION DISPLAYS THE LIST OF THE PASSENGERS void PASSENGER :: LIST (void) { //clrscr(); //cleardevice(); char t1[20]; int t2,sno,valid; TICKET ticket; ticket.ENQUIRY(); do { valid = 1; gotoxy(3,23); ////clreol(); // cout<<"PRESS <ENTER> TO EXIT"; // gotoxy(3,20); // //clreol(); // cout<<"ENTER SNO.OF THE FLIGHT WHOSE DETAILS YOU WANT"; gotoxy(75,23); gets(t1); t2 = atoi(t1); sno = t2; if(strlen(t1) == 0) return; if(sno < 1 || sno > 12) { valid = 0; gotoxy(3,23); //clreol(); cout<<"7ENTER CORRECTLY"; getch(); } } while(!valid); //clrscr(); cleardevice(); setcolor(LIGHTGREEN); setbkcolor(8); for(int il=0;il<=600;il++) { putpixel(636,600-il,14); putpixel(635,600-il,14); putpixel(634,600-il,14); putpixel(633,600-il,14); putpixel(4,il,14); putpixel(6,il,14); putpixel(5,il,14); putpixel(3,il,14); delay(1); } for(il=0;il<=636;il++) { putpixel(636-il,5,14); putpixel(636-il,3,14); putpixel(636-il,2,14); putpixel(636-il,4,14); putpixel(il,470,14); putpixel(il,472,14); putpixel(il,471,14); putpixel(il,473,14); delay(1); nosound(); } int row = 8,found = 0,flag = 0; char ch; gotoxy(3,4); cout<<"FLIGHT NO.----> "<<ticket.FLIGHTNO(sno); //gotoxy(28,2); settextstyle(3,HORIZ_DIR,4); outtextxy(220,18,"LIST OF PASSENGERS"); //cout<<""; gotoxy(5,6); cout<<"TICKET NO. NAME CLASS "; gotoxy(4,7); cout<<"*******************************************************"; fstream file; file.open("PASS.DAT",ios::in); file.seekg(0,ios::beg); while(file.read((char*)this,sizeof(PASSENGER))) { if(sno == slno) { flag = 0; delay(20); found = 1; gotoxy(5,row); cout<<ticketno; gotoxy(17,row); cout<<name; gotoxy(49,row); if(Class == 'X') cout<<"EXECUTIVE"; else cout<<"ECONOMIC"; if(row == 21) { cleardevice(); flag = 1; row = 7; gotoxy(5,23); cout<<"PRESS ANY KEY TO CONTINUE OR PRESS <ESC>"; ch = getch(); if(ch == 27) break; //fff cleardevice(); settextstyle(3,HORIZ_DIR,4); outtextxy(220,18,"LIST OF PASSENGERS"); //gotoxy(33,3); //cout<<"LIST OF PASSENGERS"; gotoxy(2,5); cout<<"TICKET NO. NAME CLASS "; } else row++; } } if(!found) { gotoxy(5,10); cout<<"7RECORDS NOT FOUND"; } if(!flag) { gotoxy(5,23); cout<<"PRESS ANY KEY TO CONTINUE...."; getch(); } file.close(); } //THIS FUNCTION DELETES PASSENGER RECORDS FOR THE GIVEN TICKET NO. void PASSENGER :: DELETE_TICKET(int tno) { fstream file; file.open("PASS.DAT",ios::in); fstream temp; temp.open("temp.dat",ios::out); file.seekg(0,ios::beg); while(!file.eof() ) { file.read((char*)this,sizeof(PASSENGER)); if(file.eof() ) break; if(tno != ticketno) temp.write((char*)this,sizeof(PASSENGER)); } file.close(); temp.close(); file.open("PASS.DAT",ios::out); temp.open("temp.dat",ios::in); temp.seekg(0,ios::beg); while(!temp.eof() ) { temp.read((char*)this,sizeof(PASSENGER)); if(temp.eof() ) break; file.write((char*)this,sizeof(PASSENGER)); } file.close(); temp.close(); } //THIS FUNCTION DELETES PASSENGER RECORDS FOR THE GIVEN FLIGHTNO. int PASSENGER :: DELETE_FLIGHT(int sno) { fstream file; file.open("PASS.DAT",ios::in); fstream temp; temp.open("temp.dat",ios::out); file.seekg(0,ios::beg); int found = 0; while(!file.eof() ) { file.read((char*)this,sizeof(PASSENGER)); if(file.eof() ) break; if(sno !=slno) temp.write((char*)this,sizeof(PASSENGER)); else found = 1; } file.close(); temp.close(); file.open("PASS.DAT",ios::out); temp.open("temp.dat",ios::in); temp.seekg(0,ios::beg); while(!temp.eof() ) { temp.read((char*)this,sizeof(PASSENGER)); if(temp.eof() ) break; file.write((char*)this,sizeof(PASSENGER)); } file.close(); temp.close(); return found; } //THIS FUNCTION CANCELS PASSENGER'S TICKET void RESERVE ::CANCELLATION(void) { char t1[20],ch; int t2,tno,valid; do { valid = 1; cleardevice(); setbkcolor(RED); setcolor(15); setcolor(YELLOW); settextstyle(2,VERT_DIR,9); settextstyle(2,HORIZ_DIR,5.1); outtextxy(52,340,"PRESS < N ter > TO SEE LIST OR 0 TO EXIT"); settextstyle(2,HORIZ_DIR,5.1); outtextxy(52,370,"ENTER TICKETNO. OF PASSENGER TO CANCEL THE TICKET"); gotoxy(56.9,24.91); gets(t1); t2 = atoi(t1); tno = t2; if(t1[0] == '0') return; if(strlen(t1) == 0) { /// cleardevice(); valid = 0; LIST(); } cleardevice(); if(!FOUND(tno) && valid) { cleardevice(); setbkcolor(1); valid = 0; settextstyle(2,HORIZ_DIR,6); outtextxy(52,170,"RECORD NOT FOUND"); outtextxy(58,200,"PRESS ANY KEY TO CONTINUE"); getch(); } } while(!valid); //PAGE 11 clrscr(); cleardevice(); fstream file; file.open("PASS.DAT",ios::in); while(file.read((char*)this,sizeof(PASSENGER))) if(ticketno == tno) break; file.close(); int i = 1; file.open("TICKET.DAT",ios::in); while(file.read((char*)this,sizeof(TICKET))) { cleardevice(); if(slno == i) break; i++; } //eee cleardevice(); file.close(); PASSENGER p; gotoxy(11,4); cout<<"****************************************************"; gotoxy(11,21); cout<<"****************************************************"; gotoxy(33,6); cout<<"TICKET NO. : "<<tno; gotoxy(17,9); cout<<from<<" TO "<<to; gotoxy(45,9); cout<<"FLIGHT NO. : "<<fltno; gotoxy(20,11); cout<<"PASSENGER NAME : "<<p.NAME(tno); gotoxy(20,13); cout<<"ADDRESS : "<<address; gotoxy(20,15); cout<<"SEX : "<<sex; gotoxy(20,17); cout<<"AGE : "<<age; gotoxy(45,19); if(Class == 'E') cout<<"TOTAL FAIR : "<<ecofair; else cout<<"TOTAL FAIR : "<<exefair; do { gotoxy(10,23); // //clreol(); cout<<"7CANCEL THIS TICKET (Y/N) : "; ch = getch(); ch = toupper(ch); } while(ch != 'Y' && ch != 'N'); if(ch == 'N') return; DELETE_TICKET(tno); gotoxy(10,25); cout<<"7TICKET CANCELLED"; getch(); } header file 5 //MAKING GRAPH class graph { int gd,gm; public: void initg(); // void xitg(); void image(char bmpfile[]); void showtext(int x,int y,char name[]); }; void graph::image(char bmpfile[]) { FILE *file1; int xpos=0, ypos=0; union { int value; char str[2]; } ImageH, ImageW; unsigned long SizeOfBMP; unsigned char palette[16]={0,2,4,6,1,5,3,7,8,12,10,14,9,13,11,15}; int x,y,co; char s,byte,LowN,HighN; file1=fopen(bmpfile,"rb"); if(file1!=NULL) { // get the width of BMP 0x0012 = 18 fseek(file1, 0x0012, SEEK_SET); ImageW.str[0] = fgetc(file1); ImageW.str[1] = fgetc(file1); // get the height of BMP 0x0016 = 22 fseek(file1, 0x0016, SEEK_SET); ImageH.str[0] = fgetc(file1); ImageH.str[1] = fgetc(file1); // get the height of BMP 0x00A = 10 fseek(file1, 0x00A, SEEK_SET); //now put the BMP image y = ypos+ImageH.value; fseek(file1, 0x0076, SEEK_SET); while (y>ypos) { for(x=xpos;x<(xpos+ImageW.value);) { byte = fgetc(file1); LowN = (byte & 0x0F); // 0x0F = 15 HighN = ((byte >> 4) & 0x0F); putpixel(x, y, palette[HighN]);x++; putpixel(x, y, palette[LowN]); x++; }//end of for - x - loop y--; }//end of while - y // feof(file1); fclose(file1); }//if file exists and sucessfully opened }//end of main program // TEXT IN B M P(INSIDE COMPUTER) void graph :: showtext(int x,int y,char name[]) { int i,n; char txt[2]; txt[1]='
C Program For Ticket Reservation
January 04, 2015
By:
Bhanu Namikaze
Bhanu Namikaze
Bhanu Namikaze is an Ethical Hacker, Security Analyst, Blogger, Web Developer and a Mechanical Engineer. He Enjoys writing articles, Blogging, Debugging Errors and Capture the Flags. Enjoy Learning; There is Nothing Like Absolute Defeat - Try and try until you Succeed.
No comments:
Post a Comment