Code:
# include <stdio.h>
# define NULL 0
void book();
void reserv();
void fc_name();
void tc_name();
void data_submit();
void list();
void list_f();
void list_f2();
void list_t();
void list_t2();
void enquiry();
void seat(),seat1(),seat2();
int MainMenu(void);
int z;
static char *fsf[6] = {"0", "mon_f.dat", "tue_f.dat", "wed_f.dat", "thu_f.dat", "fri_f.dat"};
static char *fst[6] = {"0", "mon_t.dat", "tue_t.dat", "wed_t.dat", "thu_t.dat", "fri_t.dat"};
//void main()
int main()
{
int status, x;
status = MainMenu();
return (status);
}
int MainMenu(void)
{
int status, x;
printf("\n\t******************* Sahara Travels PVT LTd *****************\n\n");
printf("\n . 1. Seat Enquiry ");
printf("\n . 2. New Ticket booking ");
printf("\n . 3. Access passenger list ");
printf("\n . 4. Quit ");
printf("\n ------------------------------------------");
printf("\n \n Please enter your choice:");
scanf("%d",&x);
switch(x)
{
case 1:
enquiry();
break;
case 2:
book();
break;
case 3:
list();
break;
case 4:
printf("\n Exiting program... Thank you for your visit.");
break;
default:
printf("\n Wrong choice entered! Please try again.");
main();
break;
}
return (status);
/* You can use this return of status, to let main and the OS know if there was a problem
with any of the functions that are called by MainMenu(). Anything else but 0 is usually
used to describe a particular problem to your main().
*/
}
void book()
{
int x;
printf("\n\t******************* Sahara Travels PVT LTd *****************\n\n");
printf("\n\t\t*---------------------*BOOKING MENU *------------------*\n\n");
printf("\n\n\t\t\t(1)---- Monday....\n");
printf("\n\t\t\t(2)---- Tuesday....\n");
printf("\n\t\t\t(3)---- Wednesday....\n");
printf("\n\t\t\t(4)---- Thursday....\n");
printf("\n\t\t\t(5)---- Friday....\n");
printf("\n\t\t\t(6)---- Return to Main Menu\n");
printf("\n\t\t*-----------------------------------------------*\n\n");
printf("\n \n Enter your choice[ numbers 1,2,3,4,5,6]: \n");
scanf("%d",&x);
switch(x)
{
case 1:
z=1;
reserv();
break;
case 2:
z=2;
reserv();
break;
case 3:
z=3;
reserv();
break;
case 4:
z=4;
reserv();
break;
case 5:
z=5;
reserv();
break;
case 6:
main();
break;
default:
printf("\n Wrong choice entered! Please try again. \n");
break;
}
}
void reserv()
{
char type;
printf("\n\t******************* Sahara Travels PVT LTd *****************\n\n");
printf("\n Enter the type of seat to be booked: \n");
printf("\n \t First class seat [enter 'F'] \n ");
printf("\n \t Tourist class seat [enter 'T'} \n");
scanf("%c",&type);
if (type=='F')
{
fc_name();
data_submit();
getchar();
getchar();
main();
}
else if(seat=='T')
{
tc_name();
data_submit();
getchar();
getchar();
main();
}
else
{
printf("\n Wrong key entered! try again");
main();
}
}
void fc_name();
{
FILE *fpt;
char name[30];
int i=0,n=0;
fpt=fopen(fsf[z],"a");
if (fpt==NULL)
printf("\n File error... Cannot open data file..Please try again..");
else
printf("\n File opened successfully");
for (i=0; i<10; ++i)
{
name[i]='\0';
}
printf("\n Enter your name:");
i=0;
while( ((name[i]=getch()) != 13 ) && (i < 10) )
{
putchar(name[i]);
i++;
}
name[i]='\0';
fprintf(fpt, "\n%s", name);
printf("\n\t\t\t-- %s--",name);
fclose(fpt);
}
void tc_name()
{
FILE *fpt;
char name[30];
int i=0,n=0;
fpt=fopen(fst[z],"a");
if (fpt==NULL)
printf("\n File error... Cannot open data file..Please try again..");
else
printf("\n File opened \n.............. \n Ready for editing...");
for (i=0; i<10; ++i)
{
name[i]='\0';
}
printf("\n Enter your name:");
i=0;
while( ((name[i]=getch()) != 13 ) && (i < 30) )
{
putchar(name[i]);
i++;
}
name[i]='\0';
fprintf(fpt, "\n%s", name);
printf("\n\t\t\t-- %s--",name);
fclose(fpt);
}
void data_submit()
{
int d1,d2,a1,a2;
char name[30],destn[6];
destn=="LONDON";
printf("\n\t\tEnter departure time : ");
scanf("%2d %2d",&d1,&d2);
a1=d1+2;
a2=d2;
printf("\n\n\t\t\tSummary of Booking");
printf("\n\t\tDESTINATION : %s",destn);
printf("\n\t\tDEPARTURE AT: %2d %d0",d1,d2);
printf("\n\t\tARRIVAL AT : %2d %d0",a1,a2);
}
void list()
{
char seat;
printf("\n\t******************* Sahara Travels PVT LTd *****************\n\n");
printf("\n Enter the type of seat : \n");
printf("\n \t First class seat [enter 'F'] \n ");
printf("\n \t Tourist class seat [enter 'T'} \n");
scanf("%c",&seat);
if (seat=='F')
{
list_f();
getchar();
getchar();
main();
}
else if(seat=='T')
{
list_t();
getchar();
getchar();
main();
}
else
{
printf("\n Wrong key entered! try again");
main();
}
}
void list_f()
{
FILE *fpt;
char buffer[1000];
int i=0, n=0;
fpt=fopen(fsf[z],"r+");
if (fpt==NULL)
printf("\n File error... Cannot open data file..Please try again..");
else
printf("\n File opened successfully.");
fscanf(fpt, "%[^\f]", buffer);
printf("\n%s\n", buffer);
fclose(fpt);
getchar();
}
void list_t()
{
FILE *fpt;
char buffer[1000];
int i=0, n=0;
fpt=fopen(fst[z],"r+");
if (fpt==NULL)
printf("\n File error... Cannot open data file..Please try again..");
else
printf("\n File opened successfully.");
fscanf(fpt, "%[^\f]", buffer);
printf("\n%s\n", buffer);
fclose(fpt);
getchar();
}
void list_f2()
{
FILE *fpt;
char buffer[1000];
int i=0,n=0;
fpt = fopen(fsf[z], "r+");
if (fpt==NULL)
printf("\n File error... Cannot open data file..Please try again..");
else
printf("\n File opened successfully.");
fscanf(fpt, "%[^\f]", buffer);
printf("\n\n%s\n",buffer);
fclose(fpt);
for(i=0;buffer[i]!='\0';i++)
{
if(buffer[i]=='\n')
n++;
}
printf("\n Number of seats taken=-->%d<--\n",n);
getchar();
}
void list_t2()
{
FILE *fpt;
char buffer[1000];
int i=0,n=0;
fpt = fopen(fst[z], "r+");
if (fpt==NULL)
printf("\n File error... Cannot open data file..Please try again..");
else
printf("\n File opened successfully.");
fscanf(fpt, "%[^\f]", buffer);
printf("\n\n%s\n",buffer);
fclose(fpt);
for(i=0;buffer[i]!='\0';i++)
{
if(buffer[i]=='\n')
n++;
}
printf("\n Number of seats taken=-->%d<--\n",n);
getchar();
}
void enquiry()
{
int x;
printf("\n\t******************* Sahara Travels PVT LTd *****************\n\n");
printf("\n\t\t*---------------------*BOOKING MENU *------------------*\n\n");
printf("\n\n\t\t\t(1)---- Monday....\n");
printf("\n\t\t\t(2)---- Tuesday....\n");
printf("\n\t\t\t(3)---- Wednesday....\n");
printf("\n\t\t\t(4)---- Thursday....\n");
printf("\n\t\t\t(5)---- Friday....\n");
printf("\n\t\t\t(6)---- Return to Main Menu\n");
printf("\n\t\t*-----------------------------------------------*\n\n");
printf("\n \n Enter your choice[ numbers 1,2,3,4,5,6]: \n");
scanf("%d",&x);
switch(x)
{
case 1:
z=1;
seat();
break;
case 2:
z=2;
seat();
break;
case 3:
z=3;
seat();
break;
case 4:
z=4;
seat();
break;
case 5:
z=5;
seat();
break;
case 6:
main();
break;
default:
printf("\n Wrong choice entered! Please try again. \n");
break;
}
}
void seat()
{
char type;
printf("\n\t******************* Sahara Travels PVT LTd *****************\n\n");
printf("\n Enter the type of seat : \n");
printf("\n \t First class seat [enter 'F'] \n ");
printf("\n \t Tourist class seat [enter 'T'} \n");
scanf("%c",&type);
if (type=='F')
{
list_f2();
seat1();
main();
}
else if (type=='T')
{
list_t2();
seat2();
main();
}
else
{
printf("\n Wrong key entered! try again");
main();
}
}
void seat1()
{
int nseat,seatavai;
printf("Enter the number of seats taken: ");
scanf("%d",&nseat);
seatavai=10-nseat;
printf("The Number of seats available is = %d",seatavai);
getchar();
}
void seat2()
{
int nseat,seatavai;
printf("Enter the number of seats taken: ");
scanf("%d",&nseat);
seatavai=40-nseat;
printf("The Number of seats available is = %d",seatavai);
getchar();
}