⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 airport.c

📁 Airline Reservation
💻 C
📖 第 1 页 / 共 2 页
字号:
/* 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))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -