You are on page 1of 41

TERM PAPER

ON

“TICKET WINDOW AND AUTOMATION
SYSTEM”
FOR

FOUNDATION OF COMPUTING (CSE
101)

SUBMITTED TO: SUBMITTED
BY:
MISS SUKHDILPREET KAUR UTKARSH
SINGH
R246B33
B.T ECH(CSE
)-MBA

Acknowledgement

I am very thankful and expressing my deep sense
of gratitude towards Miss Sukhdilpreet Kaur,
Lecturer LSE, Lovely Professional University, who
inspired me to work on this topic. I benefited a lot
with discussing him on this topic.

I am also thankful to my parents who provided me
such a opportunity, for their inspiring words.

I am also thankful to all my colleagues and all
those who helped me in completion of this
project.

UTK
ARSH SINGH
R2
46B33
B.T
(
ECH CSE)-MBA

TABLE OF CONTENTS

1. INTRODUCTION TO C

2. SOURCE CODE

3. REQUIRED SOURCES

4. REFRENCES
INTRODUCTION OF C

As a programming language, C is rather like Pascal or
FORTRAN. Values are sorted in variables. Programs
structured by defining and calling functions. Program flow
is controlled using loops, if statement and function calls.

Input and output can be directed to the terminal or
to the file .Related data can be sorted together in array or
structures.Of the three languages, C allows the most
precise control of input and output .C is also rather more
terse than FORTRAN and PASCAL .this can result in short
efficient programs where the programmer has made wise
use of C range of powerful operators. It also allows the
programmer to produce which are impossible to
understand.
Programmer who are familiar with the use of
pointers (or indirect addressing, to use the correct term)
will welcome the ease of use compared with some other
languages .Undisciplined use of pointer can lead to errors
which are very hard to trace .This course only deals with
the simplest applications of pointers.

It is that newcomer will find C a useful and friendly
language. Care must be taken in using C. many of the
extra facilities which it offers can lead to extra types of
programming error. You will have to learn to deal with
these to successfully make the transition to being a C
programmer.

Why use C?

C has been used successfully for every type of
programming problem imaginable from operating
systems to spreadsheets to expert system – and efficient
compilers are available for machines ranging in power
from the Apple Mocintosh to cray supercomputer. C is
often called a “Middle Level” language.

Use of C
C was initially used for system development work, in
particular the programs that make up operating system.
Why use C? Mainly because it produces code written in
assembly language. Some examples of the use of C might
be:
Operating system
Language Compilers
Assemblers
Text Editors
Modern Programs
Language Interpreters

In recent year C has been use a general-purpose
language because of it is not the world’s easiest language
to learn and you will certainly benefit if you are not
learning C as your first programming language!
C is trendly many well established programmers are
switching to C for all short of reasons, but mainly because
of the portability that writing standard C programs can
offer.
CODING

/
* THIS SOFTWARE IS A DATABASE PROJECT WITH ALL THE BASIC CAPABILITIES
A
////////////////////////////////////////////////////////////////////////
DATABASE SHOULD HAVE. THIS APPLICATION SOFTWARE IS ABOUT AIRPORT
RESERVATION
///////////////////////////////////////////////////////////////////////////
AND IT RECORDS AND MAINTAINS RECORDS ABOUT THE AIRLINES AND THE
CUSTOMER.
///////////////////////////////////////////////////////////////////////////
RECORDS FOR AIRLINES AND CUSTOMERS ARE SAVED IN SEPERATE FILES AND
CAN
////////////////////////////////////////////////////////////////////////
BE USED TO DELETE OR MODIFY RECORDS IN THEM ........
*/
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#include <string.h>

struct record { // STRUCTURE FOR AIRLINE
char name[30];
char type[15]; // WITH THEIR ELEMENTS
char dday[10];
char dtime[10];
char aday[10];
char atime[10];
char des[30];
int capa;
} airline;

struct record1 { // STRUCTURE FOR CUSTOMERS
char name[20];
char addr[40];
char pnum[15];
char dob[15];
char nic[15];
char pass[15];
char nation[20]; // AND THEIR ELEMENTS
char dest[30];
char airline[20];
char dod[10];
char time[10];
} customer;

void printTitle(void);
void showMenu(void); // FUNCTIONS
void customerf(void);
void airlinef(void);
void start(void);
void menu(void); // MADE AND USED
void add_airline(void);
void edit_airline();
void delete_airline(void);
void add_customer(void); // IN THE PROGRAMS
void edit_customer(void);
void delete_customer(void);
void end(void);
void view_airline(void);
void view_customer(void);
void option(void);
void option1(void);
void end2(void);
void option2(void);
int Password(void);
void inv(void);
int c=0,d=0;

void main(void)
{
int Proceed;

int driver=VGA,mode=VGAHI; //detect best driver and mode

initgraph(&driver,&mode,"c:\\tc\\bgi"); //initialize graphics mode

randomize();

do
{
Proceed = Password(); // CHECK THE PASSWORD
} while ( Proceed!=1);
cleardevice();
start(); // AND THEM CHECK
menu();
getch(); // THE VALUE RETURNED...
closegraph();
}
void start(void)
{ // FUNTION USED FOR MAKING THE
setcolor(RED);
setlinestyle(SOLID_LINE,1,3);
rectangle(0,0,639,479); // RECTANGLE WHICH IS THE BORDER

setcolor(BLUE);
setlinestyle(SOLID_LINE,1,2); // ... COLORS ARE USED IN THEM..
rectangle(10,10,629,469);
}

void showMenu(void)
{
settextstyle(TRIPLEX_FONT,HORIZ_DIR,4); //set text style for the
options
setcolor(WHITE); //set colour for the fonts
outtextxy(60,150,"1) AIRLINE INFORMATION"); //setting the position and the
font
outtextxy(60,210,"2) CUSTOMER PROFILE"); //setting the position
and the font
outtextxy(60,270,"3) EXIT"); //setting the position and the font
}

void menu(void)
{
settextstyle(TRIPLEX_FONT,HORIZ_DIR,4); //set text style for the
options
setcolor(WHITE); //set colour for the fonts
outtextxy(60,150,"1) AIRLINE INFORMATION"); //setting the position and the
font
outtextxy(60,210,"2) CUSTOMER PROFILE"); //setting the position
and the font
outtextxy(60,270,"3) EXIT"); //setting the position and the font

while (1) //loop will folow untill key
board hits
{
while(!(kbhit()))
{
printTitle();
}

switch(getch()) // getting options from the
user
{
case '1':

settextstyle(TRIPLEX_FONT,HORIZ_DIR,4); //set text style
for the options
setcolor(0); //set colour for the fonts
outtextxy(60,150,"1) AIRLINE INFORMATION"); //setting the position
and the font
settextstyle(TRIPLEX_FONT,HORIZ_DIR,5); //set text style
for the options
setcolor(10); //set colour for the fonts
outtextxy(60,150,"1) AIRLINE INFORMATION"); //setting the position
and the font
delay(500);
airlinef();
cleardevice();
start();
showMenu();
break;
case '2':
settextstyle(TRIPLEX_FONT,HORIZ_DIR,4); //set text style
for the options
setcolor(0); //set colour for the fonts
outtextxy(60,210,"2) CUSTOMER PROFILE"); //setting the position
and the font
settextstyle(TRIPLEX_FONT,HORIZ_DIR,5); //set text style
for the options
setcolor(10); //set colour for the fonts
outtextxy(60,210,"2) CUSTOMER PROFILE"); //setting the position
and the font
delay(500);

customerf();
cleardevice();
start();
showMenu();
break;
case '3':
settextstyle(TRIPLEX_FONT,HORIZ_DIR,4); //set text style
for the options
setcolor(0); //set colour for the fonts
outtextxy(60,270,"3) EXIT"); //setting the position and the
font
settextstyle(TRIPLEX_FONT,HORIZ_DIR,5); //set text style
for the options
setcolor(10); //set colour for the fonts
outtextxy(60,270,"3) EXIT"); //setting the position and the
font
delay(500);

end();
cleardevice();
start();
showMenu(); // END FUNCTION IS CALLED
AFTER
break;
default:
inv();
}
}
}
void printTitle(void)
{
int temp, temp2;

temp=(rand()% 15)+1;
settextstyle(SANS_SERIF_FONT,HORIZ_DIR,4); //set tect style for the
heading
setcolor(temp); //set colour for the
fonts
outtextxy(16,40,"WELCOME TO THE AIRPORT RESERVATION");
//setting the position and the font

temp2=(rand()%15)+1;
setcolor(temp2); //set colour for the
underline
line(20,80,621,80); //set position for the line

delay(400); //blinking the heading

}

void airlinef(void)
{
d=0,c=0;
cleardevice();
start();

settextstyle(TRIPLEX_FONT,HORIZ_DIR,6);
setcolor(LIGHTBLUE);
outtextxy(25,40," AIRLINE INFORMATION");
setcolor(YELLOW);
settextstyle(TRIPLEX_FONT,HORIZ_DIR,4);

outtextxy(60,150,"1)ADD AIRLINE INFORMATION");
outtextxy(60,210,"2)DELETE AIRLINE INFORMATION");
outtextxy(60,270,"3)VIEW AIRLINE INFORMATION");
outtextxy(60,330,"4)EDIT AIRLINE INFORMATION");
outtextxy(60,390,"5)GO BACK TO THE MAIN MENU");
switch(getch())
{
case '1':

add_airline();
cleardevice();
airlinef();
break;

case '2':
delete_airline();
cleardevice();
airlinef();
break;
case '3':
view_airline();
cleardevice();
airlinef();
break;

case '4':
edit_airline();
cleardevice();
airlinef();
break;

case '5':
cleardevice();
start();
menu();
break;

default :
inv();
airlinef();
}

}
void customerf(void)
{
d=0,c=0;
cleardevice();
start();
settextstyle(TRIPLEX_FONT,HORIZ_DIR,6);
setcolor(LIGHTBLUE);
outtextxy(13,40,"CUSTOMER INFORMATION");
setcolor(YELLOW);
settextstyle(TRIPLEX_FONT,HORIZ_DIR,4);

outtextxy(60,150,"1)ADD CUSTOMER INFORMATION");
outtextxy(60,210,"2)DELETE CUSTOMER INFORMATION");
outtextxy(60,270,"3)VIEW CUSTOMER INFORMATION");
outtextxy(60,330,"4)EDIT CUSTOMER INFORMATION");
outtextxy(60,390,"5)GO BACK TO THE MAIN MENU");

switch(getch())
{
case '1':
add_customer();
cleardevice();
customerf();
break;
case '2':
delete_customer();
cleardevice();
customerf();
break;
case '3':
view_customer();
cleardevice();
customerf();
break;
case '4':
edit_customer();
cleardevice();
customerf();
break;
case '5':
cleardevice();
start();
menu();
break;
default :
inv();
customerf();
}

}

void end (void)
{
cleardevice();

settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);
setcolor(WHITE);
outtextxy(60,150,"ARE YOU SURE YOU WANT TO EXIT (Y/N)");
switch(getch())
{
case 'Y':
case 'y':
end2();
exit(0);
break;
case 'N':
case 'n':
break;
default :
inv();
getch();
end();
}
}

void add_airline(void)
{
FILE *fpoin;
char temp[30];

int a=35;
fpoin=fopen("c:\\airline.txt","a");
cleardevice();
start();

settextstyle(DEFAULT_FONT,HORIZ_DIR,3);
outtextxy(35,40,"ADD AIRLINE INFORMATION");

settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(60,100,"ENTER AN AIRLINE NAME");
gotoxy(a,7);
gets(temp);
strcpy(airline.name,strupr(temp));

outtextxy(60,115,"ENTER A DESTINATION");
gotoxy(a,8);
gets(temp);
strcpy(airline.des,strupr(temp));

outtextxy(60,130,"ENTER AN AIRCRAFT TYPE");
gotoxy(a,9);
gets(temp);
strcpy(airline.type,strupr(temp));
outtextxy(60,145 ,"DAY OF DEPARTURE");
gotoxy(a,10);
gets(temp);
strcpy(airline.dday,strupr(temp));

outtextxy(60,160,"DEPARTURE TIME");
gotoxy(a,11);
gets(temp);
strcpy(airline.dtime,strupr(temp));

outtextxy(60,175,"ARRIVAL DAY");
gotoxy(a,12);
gets(temp);
strcpy(airline.aday,strupr(temp));

outtextxy(60,190,"ARRIVAL TIME");
gotoxy(a,13);
gets(temp);
strcpy(airline.atime,strupr(temp));

outtextxy(60,205,"CAPACITY");
gotoxy(a,14);
scanf("%d",&airline.capa);

fwrite(&airline, sizeof(airline),1, fpoin);

if((c!=1)&&(d!=1))
{
cleardevice();
start();
outtextxy(90,290,"RECORD ADDED");
outtextxy(90,310,"PRESS ANY KEY TO CONTINUE");
getch();
}

fclose(fpoin);
fflush(stdin);
}

void delete_airline(void)
{
char *searchname,*desname,temp1[30],temp[30];
int count=0,count1=0,success=0,i,j,success2=0,k=0;
FILE *fpoin,*fpoin1;
cleardevice();
start();

cleardevice();
start();
gotoxy(10,5);
printf("ENTER THE NAME OF THE AIRLINE:");
gets(temp1);
searchname=strupr(temp1);
gotoxy(10,7);
printf("ENTER THE NAME OF DESTINATION:");
gets(temp);
desname=strupr(temp);
fpoin=fopen("c:\\airline.txt","r");
while((fread(&airline,sizeof(airline),1,fpoin))!=NULL)
{

count1++;
if((strcmp(searchname,airline.name)==0)&&(strcmp(desname,airline.des)==0))
{
success2=1;
cleardevice();
start();

gotoxy(9,10);
printf("AIRLINE NAME");
gotoxy(26,10);
puts(airline.name);
gotoxy(20,11);
printf("\n\tDESTINATION\t %s \
\n\tAIRCRAFT TYPE\t %s \
\n\tDEPARTURE DAY\t %s \
\n\tDEPARTURE TIME\t %s \
\n\tARRIVAL DAY\t %s \
\n\tARRIVAL TIME\t %s \
\n\tCAPACITY\t
%d",airline.des,airline.type,airline.dday,airline.dtime,airline.aday,airline.atime,airline.capa);

printf("\n\n\n\n\n");
start();
count++;
gotoxy(20,20);
printf("(D)ELETE OR MOVE (F)URTHER");
switch(getch())
{
case 'D':
case 'd':
k=1;
success=1;
break;
case 'F':
case 'f':
break;

default :
success=2;
inv();
}

if(success==1)
break;
}

}

if((success2==1)&&(success==1))
{
rewind(fpoin);
fpoin1=fopen("c:\\temp.txt","w");

for(i=1;i<count1;i++)
{
fread(&airline,sizeof(airline),1,fpoin);
fwrite(&airline, sizeof(airline),1,fpoin1);
}

for(j=0;j<=3;j++)
{
cleardevice();
start();
settextstyle(TRIPLEX_FONT,HORIZ_DIR,2);
setcolor(WHITE);
outtextxy(100,150,"RECORD DELETING");
delay(700);
setcolor(BLACK);
outtextxy(100,150,"RECORD DELETING");
delay(700);
setcolor(WHITE);
}
cleardevice();
start();
setcolor(RED);
outtextxy(100,170,"RECORD DELETED");
delay(1500);

fread(&airline,sizeof(airline),1,fpoin);

while((fread(&airline,sizeof(airline),1,fpoin))!=NULL)
fwrite(&airline, sizeof(airline),1,fpoin1);

start();

fclose(fpoin1);
fclose(fpoin);

remove("c:\\airline.txt");
rename("c:\\temp.txt","c:\\airline.txt");
fpoin=fopen("c:\\airline.txt","r");

}

if(success2==0)
{
gotoxy(28,20);
printf("RECORD NOT FOUND");
getch();
}

if((count!=0)&&(k==0))
{
gotoxy(10,22);
printf("THERE ARE %d RECORD(S) LEFT",count);
getch();
}

}
void view_airline(void)
{
cleardevice();
setcolor(4);
settextstyle(3,0,5);
outtextxy(40,100,"PRESS");
setcolor(11);
settextstyle(3,0,3);
outtextxy(70,200,"1 - TO SEARCH BY NAME");
outtextxy(70,240,"2 - TO SEARCH BY DESTINATION");
outtextxy(70,280,"3 - TO SEARCH BY BOTH");
outtextxy(70,320,"4 - TO GO BACK");

start();
switch(getch())
{
case '1':
option1();
view_airline();
break;
case '2':
option();
view_airline();
break;
case '3':
option2();
view_airline();
break;
case '4':
airlinef();
break;
default :
inv();
view_airline();

}
fflush(stdin);
}

void option(void)
{
FILE *fpoin;

char *searchname,temp[30];
int count=0;
cleardevice();
start();
gotoxy(10,5);
printf("Enter the name of destination to search:");
gets(temp);
searchname=strupr(temp);
fpoin=fopen("c:\\airline.txt","r");

while((fread(&airline,sizeof(airline),1,fpoin))!=NULL)
{

if(strcmp(searchname,airline.des)==0)
{
cleardevice();
start();

gotoxy(9,10);
printf("AIRLINE NAME");
gotoxy(26,10);
puts(airline.name);
gotoxy(20,11);
printf("\n\tDESTINATION\t %s \
\n\tAIRCRAFT TYPE\t %s \
\n\tDEPARTURE DAY\t %s \
\n\tDEPARTURE TIME\t %s \
\n\tARRIVAL DAY\t %s \
\n\tARRIVAL TIME\t %s \
\n\tCAPACITY\t
%d",airline.des,airline.type,airline.dday,airline.dtime,airline.aday,airline.atime,airline.capa);

printf("\n\n\n\n\n");
start();
count++;
getch();

}
}
printf("\n\n\t\t\tTHERE ARE %d RECORD(S)",count);
start();
getch();

}

void option1(void)
{
FILE *fpoin;

char *searchname,temp[30];
int count=0;
cleardevice();
start();
gotoxy(10,5);
printf("Enter the name of airline to search:");
gets(temp);
searchname=strupr(temp);
fpoin=fopen("c:\\airline.txt","r");

while((fread(&airline,sizeof(airline),1,fpoin))!=NULL)
{

if(strcmp(searchname,airline.name)==0)
{
cleardevice();
start();

gotoxy(9,10);
printf("AIRLINE NAME");
gotoxy(26,10);
puts(airline.name);
gotoxy(20,11);
printf("\n\tDESTINATION\t %s \
\n\tAIRCRAFT TYPE\t %s \
\n\tDEPARTURE DAY\t %s \
\n\tDEPARTURE TIME\t %s \
\n\tARRIVAL DAY\t %s \
\n\tARRIVAL TIME\t %s \
\n\tCAPACITY\t
%d",airline.des,airline.type,airline.dday,airline.dtime,airline.aday,airline.atime,airline.capa);

printf("\n\n\n\n\n");
start();
count++;
getch();

}
}
printf("\n\n\t\t\tTHERE ARE %d RECORD(S)",count);
start();
getch();
}
void option2(void)
{
FILE *fpoin;

char *searchname,*desname,temp[30],temp1[30];
int count=0;
cleardevice();
start();
gotoxy(10,5);
printf("ENTER AIRLINE:");
gets(temp1);
searchname=strupr(temp1);
gotoxy(10,10);
printf("ENTER DESTINATION:");
gets(temp);
desname=strupr(temp);
fpoin=fopen("c:\\airline.txt","r");

while((fread(&airline,sizeof(airline),1,fpoin))!=NULL)
{

if((strcmp(searchname,airline.name)==0)&&(strcmp(desname,airline.des)==0))

{

cleardevice();
start();

gotoxy(9,10);
printf("AIRLINE NAME");
gotoxy(26,10);
puts(airline.name);
gotoxy(20,11);
printf("\n\tDESTINATION\t %s \
\n\tAIRCRAFT TYPE\t %s \
\n\tDEPARTURE DAY\t %s \
\n\tDEPARTURE TIME\t %s \
\n\tARRIVAL DAY\t %s \
\n\tARRIVAL TIME\t %s \
\n\tCAPACITY\t
%d",airline.des,airline.type,airline.dday,airline.dtime,airline.aday,airline.atime,airline.capa);

printf("\n\n\n\n\n");
start();
count++;
getch();
}

}
printf("\n\n\t\t\tTHERE ARE %d RECORD(S)",count);
start();
getch();

}

void edit_airline()
{
char *searchname,*desname,temp1[30],temp[30];
int count=0,count1=0,success=0,i,j,k=0,success2=0;

FILE *fpoin,*fpoin1;
cleardevice();
start();

cleardevice();
start();
gotoxy(10,5);
printf("ENTER THE NAME OF THE AIRLINE:");
gets(temp1);
searchname=strupr(temp1);
gotoxy(10,7);
printf("ENTER THE NAME OF DESTINATION:");
gets(temp);
desname=strupr(temp);
fpoin=fopen("c:\\airline.txt","r");
while((fread(&airline,sizeof(airline),1,fpoin))!=NULL)
{

count1++;
if((strcmp(searchname,airline.name)==0)&&(strcmp(desname,airline.des)==0))
{
success2=1;
cleardevice();
start();

gotoxy(9,10);
printf("AIRLINE NAME");
gotoxy(26,10);
puts(airline.name);
gotoxy(20,11);
printf("\n\tDESTINATION\t %s \
\n\tAIRCRAFT TYPE\t %s \
\n\tDEPARTURE DAY\t %s \
\n\tDEPARTURE TIME\t %s \
\n\tARRIVAL DAY\t %s \
\n\tARRIVAL TIME\t %s \
\n\tCAPACITY\t
%d",airline.des,airline.type,airline.dday,airline.dtime,airline.aday,airline.atime,airline.capa);

printf("\n\n\n\n\n");
start();
count++;
gotoxy(20,20);
printf(" (E)DIT OR (N)EXT RECORD");
switch(getch())
{
case 'e':
case 'E':
k=1;
success=1;
break;
case 'N':
case 'n':
break;
default :
success=2;
inv();
}

if(success==1)
break;
}

}

if((success2==1)&&(success==1))
{
rewind(fpoin);
fpoin1=fopen("c:\\temp.txt","w");

for(i=1;i<count1;i++)
{
fread(&airline,sizeof(airline),1,fpoin);
fwrite(&airline, sizeof(airline),1,fpoin1);
}

fread(&airline,sizeof(airline),1,fpoin);

d=1;
c=1;
add_airline();

for(j=0;j<=5;j++)
{
cleardevice();
start();
settextstyle(TRIPLEX_FONT,HORIZ_DIR,2);
setcolor(WHITE);
outtextxy(100,150,"RECORD MODIFYING");
delay(700);
setcolor(BLACK);
outtextxy(100,150,"RECORD MODIFYING");
delay(700);
setcolor(WHITE);

}
cleardevice();
start();
setcolor(RED);
outtextxy(100,170,"RECORD MODIFIED");
delay(1500);

while((fread(&airline,sizeof(airline),1,fpoin))!=NULL)
fwrite(&airline, sizeof(airline),1,fpoin1);

start();

fclose(fpoin1);
fclose(fpoin);

remove("c:\\airline.txt");
rename("c:\\temp.txt","d:\\airline.txt");
fpoin=fopen("d:\\airline.txt","r");

}

if(success2==0)
{
gotoxy(28,20);
printf("RECORD NOT FOUND");
getch();
}
if((count!=0)&&(k==0))
{
gotoxy(10,22);
printf("THERE ARE %d RECORD(S) LEFT",count);
getch();
}

}

void add_customer(void)
{
FILE *fpoin1;
char temp[30];

int a=35;
fpoin1=fopen("d:\\customer.txt","a");
cleardevice();
start();

settextstyle(DEFAULT_FONT,HORIZ_DIR,3);
outtextxy(35,40,"ADD CUSTOMER INFORMATION");

settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(60,100,"ENTER CUSTOMER NAME");
gotoxy(a,7);
gets(temp);
strcpy(customer.name,strupr(temp));

outtextxy(60,115,"ENTER ADDRESS");
gotoxy(a,8);
gets(temp);
strcpy(customer.addr,strupr(temp));

outtextxy(60,130,"ENTER PHONE NUMBER");
gotoxy(a,9);
gets(temp);
strcpy(customer.pnum,strupr(temp));

outtextxy(60,145 ,"DATE OF BIRTH");
gotoxy(a,10);
gets(temp);
strcpy(customer.dob,strupr(temp));

outtextxy(60,160,"NIC NUMBER");
gotoxy(a,11);
gets(temp);
strcpy(customer.nic,strupr(temp));

outtextxy(60,175,"PASSPORT NUMBER");
gotoxy(a,12);
gets(temp);
strcpy(customer.pass,strupr(temp));

outtextxy(60,190,"NATIONALITY");
gotoxy(a,13);
gets(temp);
strcpy(customer.nation,strupr(temp));

outtextxy(60,205,"DESTINATION");
gotoxy(a,14);
gets(temp);
strcpy(customer.dest,strupr(temp));

outtextxy(60,220,"ENTER AIRLINE");
gotoxy(a,15);
gets(temp);
strcpy(customer.airline,strupr(temp));

outtextxy(60,235,"DATE OF DEPARTURE");
gotoxy(a,16);
gets(temp);
strcpy(customer.dod,strupr(temp));

outtextxy(60,250,"TIME OF DEPARTURE");
gotoxy(a,17);
gets(temp);
strcpy(customer.time,strupr(temp));

if((c!=1)&&(d!=1))
{
cleardevice();
start();
outtextxy(90,290,"RECORD ADDED");
outtextxy(90,310,"PRESS ANY KEY TO CONTINUE");
getch();
}

fwrite(&customer, sizeof(customer),1, fpoin1);
fclose(fpoin1);
fflush(stdin);
}

void edit_customer(void)
{
char *searchname,temp[30];
int count=0,count1=0,success=0,i,j,success2=0,k=0;

FILE *fpoin1,*fpoin2;
cleardevice();
start();

cleardevice();
start();
gotoxy(10,5);
printf("ENTER THE NAME OF CUSTOMER:");
gets(temp);
searchname=strupr(temp);
gotoxy(10,7);
fpoin1=fopen("c:\\customer.txt","r");
while((fread(&customer,sizeof(customer),1,fpoin1))!=NULL)
{

count1++;
if((strcmp(searchname,customer.name)==0))
{
success2=1;
cleardevice();
start();

gotoxy(9,10);
printf("CUSTOMER NAME");
gotoxy(34,10);
puts(customer.name);
gotoxy(20,11);
printf("\n\tADDRESS\t\t\t %s \
\n\tPHONE NUMBER\t\t %s \
\n\tDATE OF BIRTH\t\t %s \
\n\tNIC NUMBER\t\t %s \
\n\tPASSPORT NUMBER\t\t %s \
\n\tNATIONALITY\t\t %s \
\n\tDESTINATION\t\t %s \
\n\tAIRLINE\t\t\t %s \
\n\tDAY OF DEPARTURE\t %s \
\n\tTIME OF DEPARTURE\t
%s",customer.addr,customer.pnum,customer.dob,customer.nic,customer.pass,customer.nation,cu
stomer.dest,customer.airline,customer.dod,customer.time);
start();
count++;

gotoxy(20,23);
printf("(E)DIT OR MOVE (F)URTHER");
switch(getch())
{
case 'E':
case 'e':
k=1;
success=1;
break;
case 'F':
case 'f':
break;

default :
success=2;
inv();
}

if(success==1)
break;
}

}

if((success2==1)&&(success==1))
{
i=1;
rewind(fpoin1);
fpoin2=fopen("c:\\temp.txt","w");

for(i=1;i<count1;i++)
{
fread(&customer,sizeof(customer),1,fpoin1);
fwrite(&customer,sizeof(customer),1,fpoin2);
}

fread(&customer,sizeof(customer),1,fpoin1);

c=1;
d=1;
add_customer();

while((fread(&customer,sizeof(customer),1,fpoin1))!=NULL)
fwrite(&customer, sizeof(customer),1,fpoin2);

for(j=0;j<=3;j++)
{
cleardevice();
start();
settextstyle(TRIPLEX_FONT,HORIZ_DIR,2);
setcolor(WHITE);
outtextxy(100,150,"RECORD MODIFYING");
delay(700);
setcolor(BLACK);
outtextxy(100,150,"RECORD MODIFYING");
delay(700);
setcolor(WHITE);

}

start();
cleardevice();
start();
setcolor(RED);
outtextxy(100,170,"RECORD MODIFIED");
delay(1500);

fclose(fpoin2);
fclose(fpoin1);

remove("d:\\customer.txt");
rename("d:\\temp.txt","d:\\customer.txt");
fpoin1=fopen("d:\\customer.txt","r");

}

if(success2==0)
{
gotoxy(28,20);
printf("RECORD NOT FOUND");
getch();
}

if((count!=0)&&(k==0))
{
gotoxy(10,24);
printf("THERE ARE %d RECORD(S) LEFT",count);
getch();
}

}
void delete_customer(void)
{
char *searchname,temp[30];
int count=0,count1=0,success=0,i,j,success2=0,k=0;

FILE *fpoin1,*fpoin2;
cleardevice();
start();

cleardevice();
start();
gotoxy(10,5);
printf("ENTER THE NAME OF CUSTOMER:");
gets(temp);
searchname=strupr(temp);
gotoxy(10,7);
fpoin1=fopen("c:\\customer.txt","r");
while((fread(&customer,sizeof(customer),1,fpoin1))!=NULL)
{

count1++;
if((strcmp(searchname,customer.name)==0))
{
success2=1;
cleardevice();
start();

gotoxy(9,10);
printf("CUSTOMER NAME");
gotoxy(34,10);
puts(customer.name);
gotoxy(20,11);
printf("\n\tADDRESS\t\t\t %s \
\n\tPHONE NUMBER\t\t %s \
\n\tDATE OF BIRTH\t\t %s \
\n\tNIC NUMBER\t\t %s \
\n\tPASSPORT NUMBER\t\t %s \
\n\tNATIONALITY\t\t %s \
\n\tDESTINATION\t\t %s \
\n\tAIRLINE\t\t\t %s \
\n\tDAY OF DEPARTURE\t %s \
\n\tTIME OF DEPARTURE\t
%s",customer.addr,customer.pnum,customer.dob,customer.nic,customer.pass,customer.nation,cu
stomer.dest,customer.airline,customer.dod,customer.time);

start();
count++;

gotoxy(10,23);
printf("(D)ELETE OR MOVE (F)URTHER");
switch(getch())
{
case 'D':
case 'd':
k=1;
success=1;
break;
case 'F':
case 'f':
break;

default :
success=2;
inv();
}

if(success==1)
break;
}

}

if((success2==1)&&(success==1))
{
i=1;
rewind(fpoin1);
fpoin2=fopen("c:\\temp.txt","w");

for(i=1;i<count1;i++)
{
fread(&customer,sizeof(customer),1,fpoin1);
fwrite(&customer,sizeof(customer),1,fpoin2);
}

fread(&customer,sizeof(customer),1,fpoin1);

while((fread(&customer,sizeof(customer),1,fpoin1))!=NULL)
fwrite(&customer, sizeof(customer),1,fpoin2);

for(j=0;j<=3;j++)
{
cleardevice();
start();
settextstyle(TRIPLEX_FONT,HORIZ_DIR,2);
setcolor(WHITE);
outtextxy(100,150,"RECORD DELETING");
delay(700);
setcolor(BLACK);
outtextxy(100,150,"RECORD DELETING");
delay(700);
setcolor(WHITE);

}

start();
cleardevice();
start();
setcolor(RED);
outtextxy(100,170,"RECORD DELETED");
delay(1500);

fclose(fpoin2);
fclose(fpoin1);

remove("c:\\customer.txt");
rename("c:\\temp.txt","c:\\customer.txt");
fpoin1=fopen("d:\\customer.txt","r");

}
if(success2==0)
{
gotoxy(28,20);
printf("RECORD NOT FOUND");
getch();
}

if((count!=0)&&(k==0))
{
gotoxy(10,24);
printf("THERE ARE %d RECORD(S) LEFT",count);
getch();
}

}
void view_customer(void)
{
FILE *fpoin1;

char *searchname,temp[30];
int count=0;
cleardevice();
start();
gotoxy(10,5);
printf("Enter the name of customer to search:");
gets(temp);
searchname=strupr(temp);
fpoin1=fopen("c:\\customer.txt","r");

while((fread(&customer,sizeof(customer),1,fpoin1))!=NULL)
{

if(strcmp(searchname,customer.name)==0)
{
cleardevice();
start();

gotoxy(9,10);
printf("CUSTOMER NAME");
gotoxy(34,10);
puts(customer.name);
gotoxy(20,11);
printf("\n\tADDRESS\t\t\t %s \
\n\tPHONE NUMBER\t\t %s \
\n\tDATE OF BIRTH\t\t %s \
\n\tNIC NUMBER\t\t %s \
\n\tPASSPORT NUMBER\t\t %s \
\n\tNATIONALITY\t\t %s \
\n\tDESTINATION\t\t %s \
\n\tAIRLINE\t\t\t %s \
\n\tDAY OF DEPARTURE\t %s \
\n\tTIME OF DEPARTURE\t
%s",customer.addr,customer.pnum,customer.dob,customer.nic,customer.pass,customer.nation,cu
stomer.dest,customer.airline,customer.dod,customer.time);

printf("\n\n\n\n");
start();
count++;
getch();

}
}
printf("\n\t\t\tTHERE ARE %d RECORD(S)",count);
start();
getch();

}
void end2(void)
{
int driver=DETECT,mode; //detect best driver and mode
int i,j=520;

initgraph(&driver,&mode,"c:\\tc\\bgi"); //initialize graphics mode

for(i=480;i>=0;i--)
{

setcolor(WHITE);
outtextxy(230,i,"DESIGNED BY");
outtextxy(195,j,"FAHAD BIN NADEEM MIR");
/* outtextxy(219,j+15,"RAHEEL YASEEN");
outtextxy(192,j+30,"LIBERETA ADELE DSOUZA");
outtextxy(216,j+45,"SHARMEEN KHEMANI");
outtextxy(225,j+60,"ZAHRA KHIMANI");
outtextxy(230,j+75,"ASMA ABBAS"); */
outtextxy(243,j+120,"BCS 1-C");
outtextxy(243,j+140,"SZABIST");
outtextxy(243,j+160,"KARACHI");

delay(20);
j--;

cleardevice();
}
closegraph();
}

int Password (void)
{
char Password[12]="yogeeta"; // Already assigned password
char pass[20];
char UserName[15];
char user[15]="fahad";
int sucess=0; // Password Verification
int x=26,i;

cleardevice();

line ( 130, 180, 500, 180 ); // creates..
rectangle ( 130, 150, 500, 300 );
setfillstyle ( SOLID_FILL, 7 ); // ..the dialouge box..
bar ( 130, 150, 500, 180 );
setfillstyle ( SOLID_FILL, 8 ); // ..where password and user name..
bar ( 130, 180, 500, 300 );
setcolor ( 4 ); // ..can be entered
outtextxy ( 140, 165, " P A S S W O R D V E R I F I C A T I O N " );
setfillstyle ( SOLID_FILL, 0 );
bar ( 200, 200, 450, 230 );
bar ( 200, 247, 450, 277 );

outtextxy ( 130, 210, " NAME " );
outtextxy ( 126, 258, " PASSWORD " );

gotoxy(26,14);
gets(UserName);

for(i=0;i<20;i++ ) // Gets the password..
{
pass[i]=getch(); // ..until enter key is not pressed..
if(pass[i]=='\r')
{
pass[i]='\0'; // Enter a NULL character
break;
}

else
{
gotoxy(x,17);printf("*"); // ..and prints asterix on the screen
x++;
}
}

if ((strcmp(Password,pass)==0)&&(strcmp(UserName,user)==0)) // checks password
character..
sucess=1;

else // If incorrect password
{
sucess=0;
gotoxy (22, 21);
printf ( " INVALID PASSWORD! TRY AGAIN " );
getche ();
}

return ( sucess );
}
void inv(void)
{
sound(700);
outtextxy(300,430,"INVALID INPUT");
delay(500);
nosound();
setcolor(0);
outtextxy(300,430,"INVALID INPUT");
}
REQUIRED SOURCES

BASIC KNOWLEDGE OF C LANGUAGE

Including

Arrays ,
structure,
pointers,
functions,
looping
Help from Internet for the pure programming in C language

Books consisting of

pure programming,
security systems,
working of mouse and keyboard in c in windows

Laboratory Facility for the execution of programme

Teacher Guidance for programming algorithm to develop the program in
right way and sence with proper steps and measures.

REFRENCES

Programming in ANSI & TURBO ‘C’ by Ashok
N Kamthane

Let Us C by Yashwant Kanitkar

Programming in C by E.Balaguruswami
www.planet.sourcecode.com

www.books.google.com

www.knowledgestorm.com