#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<graphics.h>
#include<dos.h>
#include<string.h>
#include<ctype.h>
#include<stdarg.h>
 box()
{
int x;
clrscr();
gotoxy(7,1);
printf("=================================================================");
for(x=2;x<24;x++)
{
gotoxy(7,x);
printf("||");
gotoxy(70,x);
printf("||");
}
gotoxy(7,24);
printf("=================================================================");
gotoxy(7,3);
printf("=================================================================");
return(0);
}
/*    PROGRAM FOR ::CREATING DATABASE
      PROGRAM NAME::CREAT.C             */
 creat()
   {
       struct
       {
     char  empcode[10];
     char  empname[20];
     char  empfaname[25];
     char  desig[15];
     char  dept[10];
     char  peradd[30];
     char  shift[7];
     float  empbas;

    }ENTRY;
          struct
          {
           int dd;
           int mm;
           int yy;
           }BD,A;
     struct date JD;
     float net_sal,tot_sal,da,hra,cca,ca,ma,pf,tax;
     int rc=0,x;
     char c,empcode[10],*ps;
     FILE *fp;
     clrscr();
     gotoxy(17,10);
    ps=getpass("PLEASE ENTER THE PASSWARD TO RE-CREAT DATABASE");
     if(strcmp(ps,"???")==0)
      {
      fp=fopen("empdata.dat","w+");
      getdate(&JD);
     if(fp==NULL)
      {
       printf("can not open the empdata.dat file \n");
      }
     else
      {
      while(1)
       {
        clrscr();
        box();
        rc++;
        gotoxy(10,2);
        printf("   ***EMPLOYEE RECORD ENTRY IN DATA REGISTER***");
        gotoxy(50,4);
        printf("TODAYS %dth RECORD\n",rc);
        gotoxy(9,5);
        printf("1.ENTER THE EMPLOYEE CODE      :");
        scanf("%s",ENTRY.empcode);
        fseek(fp,0,0);
        while(!feof(fp))
         {
        fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&BD.dd,&BD.mm,&BD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
        x=strcmp(ENTRY.empcode,empcode);
          if(x==0)
        {
          gotoxy(9,15);
          printf("THIS RECORD ALLREADY EXIT");
          break;
         }
          }
         if(x!=0)
           {
        gotoxy(9,7);
        fflush(stdin);
        printf("2. ENTER THE EMPLOYEE NAME     :");
        scanf("%[^\n]s",&ENTRY.empname);
        gotoxy(9,9);
        fflush(stdin);
        printf("3.EMPLOYEE'S FOTHER'S NAME     :");
        scanf("%[^\n]s",&ENTRY.empfaname);
        gotoxy(9,11);
        fflush(stdin);
        printf("4. ENTER THE PERMANENT ADDRESS :");
        scanf("%[^\n]s",&ENTRY.peradd);
        gotoxy(9,13);
        fflush(stdin);
        printf("5. ENTER THE DESIGNITION     :");
        scanf("%[^\n]s",&ENTRY.desig);
        gotoxy(9,14);
        printf("Department-Produ,Marke,Maint,Accou,Admin");
        gotoxy(9,15);
        fflush(stdin);
        printf("6. ENTER THE DEPARTMENT CHOICE:");
        scanf("%[^\n]s",&ENTRY.dept);
        gotoxy(9,17);
        fflush(stdin);
        printf("7. ENTER THE SHIFT<DAY OR NIGHT> :");
        scanf("%[^\n]s",&ENTRY.shift);
        gotoxy(9,19);
        printf("8. ENTER THE BASIC PAY     :");
        scanf("%f",&ENTRY.empbas);
        gotoxy(9,21);
        printf("9. ENTER THE DATE OF BIRTH :");
        gotoxy(43,21);
        printf("DAY:");
        scanf("%d",&BD.dd);
        gotoxy(51,21);
        printf("month:");
        scanf("%d",&BD.mm);
        gotoxy(61,21);
        printf("year:");
        scanf("%d",&BD.yy);
        gotoxy(9,23);
        printf("10.DATE OF JOINING:%d:%d:%d\n",JD.da_day,JD.da_mon,JD.da_year);
           if(ENTRY.empbas<4000)
        {
          da=(ENTRY.empbas*1.30);
          hra=(ENTRY.empbas*.10);
          cca=(ENTRY.empbas*.03);
          ca=(ENTRY.empbas*.02);
          ma=(ENTRY.empbas*.02);
          pf=(ENTRY.empbas*.10);
        }
           if(ENTRY.empbas>=4000 && ENTRY.empbas<6000)
        {
         da=(ENTRY.empbas*1.10);
         hra=(ENTRY.empbas*.10);
         cca=(ENTRY.empbas*.03);
         ca=(ENTRY.empbas*.02);
         ma=(ENTRY.empbas*.02);
         pf=(ENTRY.empbas*.15);
        }
           if(ENTRY.empbas>=6000)
        {
         da=(ENTRY.empbas*1.00);
         hra=(ENTRY.empbas*.10);
         cca=(ENTRY.empbas*.03);
         ca=(ENTRY.empbas*.02);
         ma=(ENTRY.empbas*.02);
         pf=(ENTRY.empbas*.20);
        }
           net_sal=(ENTRY.empbas+da+hra+cca+ca+ma)-(pf);
           if(net_sal<4000)
          tax=0;
           else if (net_sal>=4000 && net_sal<6000)
          tax=net_sal*.10;
           else
          tax=net_sal*.20;
          tot_sal=net_sal-tax;
          fprintf(fp,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,JD.da_day,JD.da_mon,JD.da_year,BD.dd,BD.mm,BD.yy,ENTRY.empbas,da,hra,cca,ca,ma,pf,net_sal,tax,tot_sal);

         }
       else
       goto d;
 d:
      fflush(stdin);
      gotoxy(15,25);
      printf("DO YOUWANT MORE ENTRY<y/n>");
      scanf("%c",&c);
     if(c=='y'||c=='Y')
       continue;
     else
       break;
    }
  fclose(fp);
  }
 }
else

printf("YOU HAVE NOT ENTER CORRECT PASSWARD");
return(0);
}
/* END OF CREAT.C  */
box1()
{
   int x;
   clrscr();
   gotoxy(7,1);
   printf("=================================================================");
   for(x=2;x<24;x++)
   {
   gotoxy(7,x);
   printf("||");
   gotoxy(70,x);
   printf("||");
   }
   gotoxy(7,24);
   printf("================================================================");
   gotoxy(7,3);
   printf("================================================================");
   return(0);
   }

   /*PROGRAM FOR   ::ENTRY OF EMPLOYEE
     PROGRAM NAME  ::ENTRY.C          */
 entry()
   {
       struct
       {
     char  empcode[10];
     char  empname[20];
     char  empfaname[25];
     char  desig[15];
     char  dept[10];
     char  peradd[30];
     char  shift[7];
     float  empbas;

    }ENTRY;
          struct
          {
           int dd;
           int mm;
           int yy;
           }BD,A;
     struct date JD;
     float net_sal,tot_sal,da,hra,cca,ca,ma,pf,tax;
     int rc=0,x;
     char c,empcode[10],*ps;
     FILE *fp;
     clrscr();
     gotoxy(17,10);
    ps=getpass("PLEASE ENTER THE PASSWARD TO ADD DATABASE");
     if(strcmp(ps,"???")==0)
      {
      fp=fopen("empdata.dat","a+");
      getdate(&JD);
     if(fp==NULL)
      {
       printf("can not open the empdata.dat file \n");
      }
     else
      {
      while(1)
       {
        clrscr();
        box1();
        rc++;
        gotoxy(10,2);
        printf("   ***EMPLOYEE RECORD ENTRY IN DATA REGISTER***");
        gotoxy(50,4);
        printf("TODAYS %dth RECORD\n",rc);
        gotoxy(9,5);
        printf("1.ENTER THE EMPLOYEE CODE      :");
        scanf("%s",ENTRY.empcode);
        fseek(fp,0,0);
        while(!feof(fp))
         {
        fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&BD.dd,&BD.mm,&BD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
        x=strcmp(ENTRY.empcode,empcode);
          if(x==0)
        {
          gotoxy(9,15);
          printf("THIS RECORD ALLREADY EXIT");
          break;
         }
          }
         if(x!=0)
           {
        gotoxy(9,7);
        fflush(stdin);
        printf("2. ENTER THE EMPLOYEE NAME     :");
        scanf("%[^\n]s",&ENTRY.empname);
        gotoxy(9,9);
        fflush(stdin);
        printf("3.EMPLOYEE'S FOTHER'S NAME     :");
        scanf("%[^\n]s",&ENTRY.empfaname);
        gotoxy(9,11);
        fflush(stdin);
        printf("4. ENTER THE PERMANENT ADDRESS :");
        scanf("%[^\n]s",&ENTRY.peradd);
        gotoxy(9,13);
        fflush(stdin);
        printf("5. ENTER THE DESIGNITION :");
        scanf("%[^\n]s",&ENTRY.desig);
        gotoxy(9,14);
        printf("Department-Produ,Marke,Maint,Accou,Admin");
        gotoxy(9,15);
        fflush(stdin);
        printf("6. ENTER THE DEPARTMENT :");
        scanf("%[^\n]s",&ENTRY.dept);
        gotoxy(9,17);
        fflush(stdin);
        printf("7. ENTER THE SHIFT<DAY OR NIGHT> :");
        scanf("%[^\n]s",&ENTRY.shift);
        gotoxy(9,19);
        printf("8. ENTER THE BASIC PAY :");
        scanf("%f",&ENTRY.empbas);
        gotoxy(9,21);
        printf("9. ENTER THE DATE OF BIRTH :");
        gotoxy(40,21);
        printf("DAY:");
        scanf("%d",&BD.dd);
        gotoxy(48,21);
        printf("month:");
        scanf("%d",&BD.mm);
        gotoxy(59,21);
        printf("year:");
        scanf("%d",&BD.yy);
        gotoxy(9,23);
        printf("10.DATE OF JOINING:%d:%d:%d\n",JD.da_day,JD.da_mon,JD.da_year);
           if(ENTRY.empbas<4000)
        {
          da=(ENTRY.empbas*1.30);
          hra=(ENTRY.empbas*.10);
          cca=(ENTRY.empbas*.03);
          ca=(ENTRY.empbas*.02);
          ma=(ENTRY.empbas*.02);
          pf=(ENTRY.empbas*.10);
        }
           if(ENTRY.empbas>=4000 && ENTRY.empbas<6000)
        {
         da=(ENTRY.empbas*1.10);
         hra=(ENTRY.empbas*.10);
         cca=(ENTRY.empbas*.03);
         ca=(ENTRY.empbas*.02);
         ma=(ENTRY.empbas*.02);
         pf=(ENTRY.empbas*.15);
        }
           if(ENTRY.empbas>=6000)
        {
         da=(ENTRY.empbas*1.00);
         hra=(ENTRY.empbas*.10);
         cca=(ENTRY.empbas*.03);
         ca=(ENTRY.empbas*.02);
         ma=(ENTRY.empbas*.02);
         pf=(ENTRY.empbas*.20);
        }
           net_sal=ENTRY.empbas+da+hra+cca+ca+ma-pf;
           if(net_sal<4000)
          tax=0;
           else if (net_sal>=4000 && net_sal<6000)
          tax=net_sal*.10;
           else
          tax=net_sal*.20;
          tot_sal=net_sal-tax;
          fprintf(fp,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,JD.da_day,JD.da_mon,JD.da_year,BD.dd,BD.mm,BD.yy,ENTRY.empbas,da,hra,cca,ca,ma,pf,net_sal,tax,tot_sal);

         }
       else
       goto d;
 d:
      fflush(stdin);
      gotoxy(15,25);
      printf("DO YOU WANT MORE ENTRY<y/n>");
      scanf("%c",&c);
     if(c=='y'||c=='Y')
       continue;
     else
       break;
    }
  fclose(fp);
  }
 }
else

printf("YOU HAVE NOT ENTER CORRECT PASSWARD");
return(0);
}
/*    END OF ENTRY.C   */

       box2()
       {
    int x;
    gotoxy(3,2);
    printf("=======================================");
    for(x=3;x<13;x++)
    {
    gotoxy(3,x);
    printf("||");
    gotoxy(39,x);
    printf("||");
    }
    gotoxy(3,13);
    printf("=======================================");
    gotoxy(3,4);
    printf("=======================================");
    return(0);
       }

    box3()
    {
    int x;
    gotoxy(40,2);
    printf("=======================================");
    for(x=3;x<13;x++)
    {
    gotoxy(40,x);
    printf("||");
    gotoxy(77,x);
    printf("||");
    }
    gotoxy(40,13);
    printf("========================================");
    gotoxy(41,4);
    printf("========================================");
    gotoxy(41,11);
    printf("========================================");
    return(0);
   }
  /*   PROGRAM FOR   ::MODIFY DATA FILE
       PROGRAM NAME  ::MODIFY.C           */
modify()
{
    struct
    {
       char empcode[10];
       char empname[25];
       char empfaname[25];
       char desig[15];
       char dept[10];
       char peradd[30];
       char shift[7];
       float empbas;
       }ENTRY,TEMP;
    struct
    {
       int dd;
       int mm;
       int yy;
    }A,JD;

       int x;
       float net_sal,tot_sal,da,hra,cca,ca,ma,pf,tax;
       char ch,c[10];
       FILE *fp,*ft,*ft1;
       while(1)
       {
       fp=fopen("empdata.dat","r");
       if(fp==NULL)
           {
        printf("CAN NOT OPEN THE EMPDATA.DAT FILE\n");
           }
      ft=fopen("temp.dat","w+");
       if(ft==NULL)
         {
           printf("CAN NOT OPEN THE TEMP.DAT FILE\n");
         }
     clrscr();
     gotoxy(11,10);
     printf("ENTER THE EMPLOYEE CODE FOR MODIFICATION:- ");
     scanf("%s",c);
       if(c=='\0')
        {
         printf("YOU HAVE NOT ENTERED ANY EMPLOYEE CODE\n");
         clrscr();
         continue;
        }
       else
        {
         while(!feof(fp))
          {
        fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
        if(strcmp(ENTRY.empcode,c)!=0)
         {
         fprintf(ft,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,JD.dd,JD.mm,JD.yy,A.dd,A.mm,A.yy,ENTRY.empbas,da,hra,cca,ca,ma,pf,net_sal,tax,tot_sal);
         }
        else
         {
         ft1=fopen("temp1.dat","w");
         fprintf(ft1,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,JD.dd,JD.mm,JD.yy,A.dd,A.mm,A.yy,ENTRY.empbas,da,hra,cca,ca,ma,pf,net_sal,tax,tot_sal);
         fclose(ft1);
         clrscr();
         box2();
         gotoxy(4,3);
         printf("OLD RECORD OF EMPLOYEE CODE %s\n",ENTRY.empcode);
         gotoxy(4,5);
         printf("EMPLOYEE NAME  :%s\n",ENTRY.empname);
         gotoxy(4,6);
         printf("BASIC SALARY   :%8.2f\n",ENTRY.empbas);
         gotoxy(4,7);
         printf("DESIGNATION    :%s\n",ENTRY.desig);
         gotoxy(4,8);
         printf("DEPARTAMENT    :%s\n",ENTRY.dept);
         gotoxy(4,9);
         printf("PERMANENT ADDS :%s\n",ENTRY.peradd);
         gotoxy(4,10);
         printf("SHIFT          :%s\n",ENTRY.shift);
         fflush(stdin);
         box3();
         gotoxy(45,3);
         printf("OPTION FOR MODIFICATION ");
         gotoxy(41,5);
         printf("[A]     FOR  PERMANENT ADDRESS\n");
         gotoxy(41,6);
         printf("[B]     FOR  BASIC SALARY\n");
         gotoxy(41,7);
         printf("[D]     FOR  DEPARTMENT \n");
         gotoxy(41,8);
         printf("[G]     FOR  DESIGNATION\n");
         gotoxy(41,9);
         printf("[S]     FOR  SHIFT\n");
         gotoxy(41,12);
         printf("ENTER THE CODE  FOR  MODIFICATION:_");
         scanf("%c",&ch);
         if(ch=='a'||ch=='A')
           {
           gotoxy(20,17);
           printf("PLEASE ENTER NEW ADDRESS ");
           scanf("%s",TEMP.peradd);
           fprintf(ft,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,TEMP.peradd,ENTRY.shift,JD.dd,JD.mm,JD.yy,A.dd,A.mm,A.yy,ENTRY.empbas,da,hra,cca,ca,ma,pf,net_sal,tax,tot_sal);
           }
         if(ch=='b'||ch=='B')
          {
           gotoxy(20,17);
           printf("PLEASE ENTER NEW BASIC SALARY ");
           scanf("%f",&TEMP.empbas);
           if(TEMP.empbas<4000)
             {
              da=(TEMP.empbas*1.30);
              hra=(TEMP.empbas*.10);
              cca=(TEMP.empbas*.03);
              ca=(TEMP.empbas*.02);
              ma=(TEMP.empbas*.02);
              pf=(TEMP.empbas*.10);
              }
             if(TEMP.empbas>-4000&&TEMP.empbas<6000)
              {
              da=(TEMP.empbas*1.10);
              hra=(TEMP.empbas*.10);
              cca=(TEMP.empbas*.03);
              ca=(TEMP.empbas*.02);
              ma=(TEMP.empbas*.02);
              pf=(TEMP.empbas*.15);
              }
             if(TEMP.empbas>=6000)
              {
              da=(TEMP.empbas*1.00);
              hra=(TEMP.empbas*.10);
              cca=(TEMP.empbas*.03);
              ca=(TEMP.empbas*.02);
              ma=(TEMP.empbas*.02);
              pf=(TEMP.empbas*.20);
              }
        net_sal=TEMP.empbas+da+hra+cca+ca+ma-pf;
         if(net_sal<4000)
          tax=0;
         else if (net_sal>=4000 && net_sal<6000)
          tax=net_sal*.10;
         else
          tax=net_sal*.20;
          tot_sal=net_sal-tax;
          fprintf(ft,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,JD.dd,JD.mm,JD.yy,A.dd,A.mm,A.yy,TEMP.empbas,da,hra,cca,ca,ma,pf,net_sal,tax,tot_sal);
         }
        if(ch=='g'||ch=='G')
         {
          gotoxy(20,17);
          printf("PLEASE ENTER THE NEW DESTINATION ");
          scanf("%s",TEMP.desig);
          fprintf(ft,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,TEMP.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,JD.dd,JD.mm,JD.yy,A.dd,A.mm,A.yy,ENTRY.empbas,da,hra,cca,ca,ma,pf,net_sal,tax,tot_sal);
         }
        if(ch=='d'||ch=='D')
         {
          gotoxy(20,17);
          printf("PLEASE ENTER THE NEW DEPARTAMENT ");
          scanf("%s",TEMP.dept);
          fprintf(ft,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,TEMP.dept,ENTRY.peradd,ENTRY.shift,JD.dd,JD.mm,JD.yy,A.dd,A.mm,A.yy,ENTRY.empbas,da,hra,cca,ca,ma,pf,net_sal,tax,tot_sal);
         }
        if(ch=='s'||ch=='S')
         {
          gotoxy(20,17);
          printf("PLEASE ENTER THE NEW SHIFT ");
          scanf("%s",TEMP.shift);
          fprintf(ft,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,TEMP.shift,JD.dd,JD.mm,JD.yy,A.dd,A.mm,A.yy,ENTRY.empbas,da,hra,cca,ca,ma,pf,net_sal,tax,tot_sal);
         }
       }
      }
     }
     fflush(stdin);
     ft1=fopen("temp1.dat","r");
     if(ft1==NULL)
     {
       gotoxy(20,22);
       printf("THIS RECORD NOT EXIST IN DATA FILE");
     }
       gotoxy(20,24);
       printf("DO YOU WANT MORE MODIFICATION <Y  OR  N> ");
       scanf("%c",&ch);
     if(ch=='y'||ch=='Y')
     {
       fclose(fp);
       fclose(ft);
       remove("empdata.dat");
       rename("temp.dat","empdata.dat");
       remove("temp1.dat");
       continue;
     }
     else
     {
       fclose(fp);
       fclose(ft);
       remove("empdata.dat");
       rename("temp.dat","empdata.dat");
       remove("temp1.dat");
       break;
     }
       }
    return(0);
     }
     /* END OF MODIFY.C      */
     /*      PROGRAM FOR ::DELETION OF RECORD
         PROGRAM NAME::DELET.C                   */
delet()
    {
     struct
     {
     char empcode[25];
     char empname[25];
     char empfaname[25];
     char desig[15];
     char dept[10];
     char peradd[30];
     char shift[7];
     float empbas;
     }ENTRY;
     struct
       {
    int dd;
    int mm;
    int yy;
       }A,JD;
    struct date BD;int u,x;
    float net_sal,tot_sal,da,hra,cca,ca,ma,pf,tax;
    char ch,c[10];
    FILE *fp,*ft,*ft1;
    char *ps;
    clrscr();
    gotoxy(17,10);
    ps=getpass("PLEASE ENTER THE PASWORD TO DELETE DATABASE");
    if(strcmp(ps,"???")==0)
     {
      while(1)
        {
         fp=fopen("empdata.dat","r");
          if(fp==NULL)
           {
        printf("CAN NOT OPEN THE EMPDATA.DAT FILE \n");
           }
         ft=fopen("temp.dat","w+");
          if(ft==NULL)
           {
        printf("CAN NOT OPEN THE TEMP .DAT FILE\n");
           }
          clrscr();
          fflush(stdin);
          gotoxy(10,15);
          printf("ENTER THE EMPLOYEE CODE FOR DELETE RECORD  ");
          scanf("%s",c);
          if(c=='\0')
        {
        printf("YOU HAVE NOT ENTER ANY EMPLOYEE CODE \n");
        clrscr();
        continue;
        }
           else
        {
        clrscr();
        while(!feof(fp))
        {
        fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
        if(strcmp(ENTRY.empcode,c)==0)
         {
          gotoxy(10,7);
          printf("=======================================================");
         for(x=8;x<19;x++)
            {
            gotoxy(10,x);
            printf("||");
            gotoxy(63,x);
            printf("||");
            }
          gotoxy(10,19);
          printf("=======================================================");
          gotoxy(10,10);
          printf("=======================================================");
          gotoxy(15,8);
          printf(" EMPLOYEE'S DATA RECORD MANTENENCE SYSTEM");
          gotoxy(15,9);
          printf("  Service record of empioyee of code no.%s",ENTRY.empcode);
          gotoxy(12,11);
          printf("  1.EMPLOYEE'S NAME       :%s",ENTRY.empname);
          gotoxy(12,12);
          printf("  2.EMPLOYEE'S POST       :%s",ENTRY.desig);
          gotoxy(12,13);
          printf("  3.EMPLOYEE'S DEPARTMENT :%s",ENTRY.dept);
          gotoxy(12,14);
          printf("  4.EMPLOYEE'S DATE OF JOINING:%d %d %d",JD.dd,JD.mm,JD.yy);
          gotoxy(12,15);
          printf("  5.EMPLOYEE'S current basic pay :%f",ENTRY.empbas);
          gotoxy(12,17);
          printf("  7.EMPLOYEE'S ADDRESS       :%s",ENTRY.peradd);
          ft1=fopen("temp1.dat","w+");
         if(ft1==NULL)
          {
            printf(" CAN NOT OPEN THE TEMP.DAT FILE\n");
          }
           fprintf(ft1,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,JD.dd,JD.mm,JD.yy,A.dd,A.mm,A.yy,ENTRY.empbas,da,hra,cca,ca,ma,pf,net_sal,tax,tot_sal);
          break;
       }
     }
       fclose(ft1);
       ft1=fopen("temp1.dat","r");
       if(ft1==NULL)
           {
        printf("\n\n\n  *****EMPLOYEE OF THIS CODE IS NOT FOUND *****\n");
        }
        else
        {
          fflush(stdin);
          gotoxy(10,23);
          printf("ARE YOU SURE TO DELET THIS RECORD <y or n>  ");
          scanf("%c",&ch);
         if(ch=='n'||ch=='N')
          {
           remove("temp1.dat");
           goto ab;
          }
        else if(ch=='y'||ch=='Y')
          {
           rewind(fp);
           while(!feof(fp))
        {
           fscanf(fp,"%s%s%s%s%s%s%s%d%d%d%d%d%d%f%f%f%f%f%f%f%f%f%f",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
          if(strcmp(ENTRY.empcode,c)!=0)
           {
            fprintf(ft,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,JD.dd,JD.mm,JD.yy,A.dd,A.mm,A.yy,ENTRY.empbas,da,hra,cca,ca,ma,pf,net_sal,tax,tot_sal);
           }
           remove("temp1.dat");
         }
           remove("empdata.dat");
           rename("temp.dat","empdata.dat");
           remove("temp.dat");
          }
      }
    ab:   fflush(stdin);
      gotoxy(20,25);
      printf("DOYOU WANT MORE DELETION   <y  or  n> ");
      scanf("%c",&ch);
      if(ch=='y'||ch=='Y')
       {
         fclose(fp);
         fclose(ft);
         continue;
        }
      else
        {
         fclose(fp);
         fclose(ft);
         break;
        }
       }
      }
      remove("temp.dat");
    }
    return(0);
}
/*   END OF DELET.C  */
 /*PROGRAM FOR  ::PROCESS MENU
   PROGRAM NAME ::PROCMENU.C     */
procmenu()
     {
 xx:      int x,c;
      clrscr();
      gotoxy(20,2);
      printf("=========================================");
        for(x=3;x<22;x++)
         {
           gotoxy(20,x);
           printf("||");
           gotoxy(59,x);
           printf("||");
          }
           gotoxy(20,22);
           printf("=========================================");
           gotoxy(20,5);
           printf("=========================================");
           gotoxy(20,17);
           printf("=========================================");
           gotoxy(20,19);
           printf("=========================================");
           gotoxy(23,4);
           printf("MENU FOR PROCESSING IN DATA FILE");
           gotoxy(24,7);
           printf("1. RECREAT DATABASE FILE...");
           gotoxy(24,9);
           printf("2.ADDITION OF MORE RECORD...");
           gotoxy(24,11);
           printf("3.DELETION OF RECORDS...");
           gotoxy(24,13);
           printf("4. MODIFICATION IN RECORD");
           gotoxy(24,15);
           printf("5. EXIT");
 ii:
           gotoxy(24,18);
           printf("PLEASE CHOICE OPTION BY S.NO.");
           gotoxy(24,20);
           printf("ENTER THE CHOICE ==>");
           scanf("%d",&c);
         switch(c)
          {
        case 1:
           {
               creat();
               goto xx;

           }
        case 2:
           {
               entry();
               goto xx;

           }
        case 3:
           {
              delet();
              goto xx;

           }
        case 4:
           {
              modify();
              goto xx;

           }
        case 5:
           {

              break;
           }
        default:
           {
            gotoxy(24,23);
            printf("Illegle choice try again");
            goto ii;
           }
        }

     return(0);

   }
  /*   END OF PROCMENU.C     */

   box10()
   {
   int x;
   clrscr();
   gotoxy(2,1);
   printf("=============================================================================");
   for(x=2;x<23;x++)
   {
       gotoxy(2,x);
       printf("||");
       gotoxy(78,x);
       printf("||");
       }
       gotoxy(2,23);
       printf("=============================================================================");
       gotoxy(3,4);
       printf("===========================================================================");
       gotoxy(3,7);
       printf("===========================================================================");
       for(x=4;x<23;x++)
       {
       gotoxy(11,x);
       printf("||");
       gotoxy(35,x);
       printf("||");
       gotoxy(45,x);
       printf("||");
       gotoxy(57,x);
       printf("||");
       gotoxy(65,x);
       printf("||");
     }
       gotoxy(11,4);
       printf("||");
       gotoxy(35,4);
       printf("||");
       gotoxy(45,4);
       printf("||");
       gotoxy(57,4);
       printf("||");
       gotoxy(65,4);
       printf("||");
       gotoxy(11,23);
       printf("||");
       gotoxy(35,23);
       printf("||");
       gotoxy(45,23);
       printf("||");
       gotoxy(57,23);
       printf("||");
       gotoxy(65,23);
       printf("||");
       gotoxy(4,6);
       printf("CODE NO.");
       gotoxy(15,6);
       printf("EMPLOYEE'S NAME");
       gotoxy(38,6);
       printf("POST");
       gotoxy(47,6);
       printf("DEPARTMENT");
       gotoxy(59,6);
       printf("SHIFT");
       gotoxy(68,6);
       printf("BASIC PAY");
       return(0);

       }
       /*  PROGRAM FOR   ::EMPLOYEE DETAILS
       PROGRAM NAME  ::LIST.C                  */
      list()
    {
     int x;
      struct
    {
     char empcode[10];
     char empname[25];
     char empfaname[25];
     char desig[15];
     char dept[10];
     char peradd[30];
     char shift[7];
     float empbas;
     }ENTRY;
       struct
       {
      int dd;
      int mm;
      int yy;
       }A,JD;
     float net_sal,basic, tot_sal,da,hra,cca,ca,ma,pf,tax,lbas,mbas;
     int a=3,b=8,rc;
     char sft[7],dpt[10],name[25],code[10],choice[15],g;
     FILE *fp;
     while(1)
     {
    fflush(stdin);
    clrscr();

    gotoxy(12,8);
    printf("EMPLOYEE,S DATA RECORD MANTANCE SYSTEM\n");
    gotoxy(12,9);
    printf("LIST=>(According to given option)");
    gotoxy(12,11);
    printf("1.LIST OF ALL DATA RECORD");
    gotoxy(12,12);
    printf("2.LIST OF DATA RECORD SIFT WISE:-");
    gotoxy(12,13);
    printf("3.LIST OF DATA RECORD DEPARTMENT WISE:-");
    gotoxy(12,14);
    printf("4.FOR RETURN MAIN MENU");
    gotoxy(12,16);
    printf("ENTER THE CHOICE   ");
    gotoxy(16,18);
    printf(" < choise option by serial no.>");
    gotoxy(30,16);
    g=getch();
    fp=fopen("empdata.dat","r");
    switch(g)
     {
     case'1' :
    {
      a=3,b=8;
      clrscr();
      box10();
      while(!feof(fp))
      {
         fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
         gotoxy(a+2,b);
         printf("%s",ENTRY.empcode);
         gotoxy(a+11,b);
         printf("%s",ENTRY.empname);
         gotoxy(a+34,b);
         printf("%s",ENTRY.desig);
         gotoxy(a+45,b);
         printf("%s",ENTRY.dept);
         gotoxy(a+56,b);
         printf("%s",ENTRY.shift);
         gotoxy(a+65,b);
         printf("%7.2f",ENTRY.empbas);
         b=b+1,a=3;
           if(b>22)
           {
           gotoxy(15,24);
           printf("PRESS ANY KEY TO CONTINUE.......");
           getch();
           clrscr();
           b=8,a=3;
           }
        }
        getch();
        fclose(fp);
        break;
     }
     case'2':
       {
    a=3,b=8;
    clrscr();
    printf("ENTER THE SHIFT OF WHICH RECORDS YOU WANT:-");
    scanf("%s",sft);
    box10();
    while(!feof(fp))
    {
    fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
    if(strcmp(sft,ENTRY.shift)==0)
    {
    gotoxy(a+2,b);
    printf("%s",ENTRY.empcode);
    gotoxy(a+11,b);
    printf("%s",ENTRY.empname);
    gotoxy(a+34,b);
    printf("%s",ENTRY.desig);
    gotoxy(a+45,b);
    printf("%s",ENTRY.dept);
    gotoxy(a+56,b);
    printf("%s",ENTRY.shift);
    gotoxy(a+65,b);
    printf("%7.2f",ENTRY.empbas);
    b=b+1,a=3;
    if(b>22)
    {
    b=8,a=3;
    gotoxy(15,24);
    printf("PRESS ANY KEY TO CONTINUE...");
    getch();
    clrscr();

    }
       }
      }
      getch();
      fclose(fp);
      break;
      }
   case'3':
     {
      a=3,b=8;
      clrscr();
      printf("ENTER THE DEPARTMENT OF WHICH RECORDS YOU WANT :-");
      scanf("%s",dpt);
      clrscr();
      box10();
     while(!feof(fp))
       {
    fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
    if(strcmp(dpt,ENTRY.dept)==0)
    {
    gotoxy(a+2,b);
    printf("%s",ENTRY.empcode);
    gotoxy(a+11,b);
    printf("%s",ENTRY.empname);
    gotoxy(a+34,b);
    printf("%s",ENTRY.desig);
    gotoxy(a+45,b);
    printf("%s",ENTRY.dept);
    gotoxy(a+56,b);
    printf("%s",ENTRY.shift);
    gotoxy(a+65,b);
    printf("%7.2f",ENTRY.empbas);
    b=b+1,a=3;
    if(b>22)
    {
    b=8,a=3;
    gotoxy(15,24);
    printf("PRESS ANY KEY TO CONTINUE...");
    getch();
    clrscr();

    }
       }
      }

      fclose(fp);
      getch();
      break;
   }
    case'4':
    {
    goto dd;
    }
 }
 }
   dd:;
   return(0);
   }
   /*  END OF LIST.C  */
   box8()
   {
   int x;
   gotoxy(2,1);
   printf("==============================================================================");
   for(x=2;x<23;x++)
   {
       gotoxy(2,x);
       printf("||");
       gotoxy(78,x);
       printf("||");
       }
       gotoxy(2,23);
       printf("============================================================================");
       gotoxy(3,4);
       printf("===========================================================================");
       gotoxy(3,7);
       printf("===========================================================================");
       for(x=4;x<23;x++)
       {
       gotoxy(11,x);
       printf("||");
       gotoxy(35,x);
       printf("||");
       gotoxy(45,x);
       printf("||");
       gotoxy(57,x);
       printf("||");
       gotoxy(65,x);
       printf("||");
     }
       gotoxy(11,4);
       printf("||");
       gotoxy(35,4);
       printf("||");
       gotoxy(45,4);
       printf("||");
       gotoxy(57,4);
       printf("||");
       gotoxy(65,4);
       printf("||");
       gotoxy(11,23);
       printf("||");
       gotoxy(35,23);
       printf("||");
       gotoxy(45,23);
       printf("||");
       gotoxy(57,23);
       printf("||");
       gotoxy(65,23);
       printf("||");
       gotoxy(4,6);
       printf("CODE NO.");
       gotoxy(15,6);
       printf("EMPLOYEE'S NAME");
       gotoxy(38,6);
       printf("POST");
       gotoxy(47,6);
       printf("DEPARTMENT");
       gotoxy(59,6);
       printf("SHIFT");
       gotoxy(68,6);
       printf("BASIC PAY");
       return(0);
       }

 /*  PROGRAM FOR ::SORTING DATABASE
     PROGRAM NAME::SRT.C                */
   srt()
     {
     struct
       {
     char empcode[10];
     char empname[25];
     char empfaname[25];
     char desig[15];
     char dept[10];
     char peradd[30];
     char shift[7];
     float empbas;
     }ENTRY;
       struct
       {
      int dd;
      int mm;
      int yy;
       }A,JD;
     float net_sal,basic,tot_sal,da,hra,cca,ca,ma,pf,tax,lbas,mbas;
     int a,b,rc,g,x;
     char c,o,sft[7],dpt[10],name[25],code[10],choice[15],aord[12];
     FILE *fp,*ft1,*ft2,*ft3;
      while(1)
      {
      fflush(stdin);
      clrscr();
      gotoxy(12,8);
      printf("EMPLOYEE'S DATA RECORD MANTENENCE SYSTEM\n");
      gotoxy(12,9);
      printf("SORTED LIST< ACCADING TO GIVEN OPTION >\n");
      gotoxy(12,11);
      printf("1.SORTED LIST DATA RECORD CODE WISE\n");
      gotoxy(12,12);
      printf("2.SORTED LIST OF DATA RECORD NAME WISE\n");
      gotoxy(12,13);
      printf("3.SORTED LIST OF DATA RECORD BASIC PAY WISE\n");
      gotoxy(12,14);
      printf("4.FOR RETURN MAIN MENU\n");
      gotoxy(12,16);
      printf("ENTER THE CHOICE\n");
      gotoxy(16,18);
      printf("<CHOSE OPTION BY SERIAL NO.>\n");
      gotoxy(30,16);
      scanf("%d",&g);
      fp=fopen("empdata.dat","r");
      ft3=fopen("data.dat","w");
       while(!feof(fp))
         {
         fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
         fprintf(ft3,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f@\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
         }
        fclose(fp);
        fclose(ft3);
     switch(g)
     {
    case 1:
      {
        gotoxy(10,22);
        fflush(stdin);
        printf("PRESS 'A' FOR ASCENDING OR PRESS 'D' FORDECENDING ORDER:");
        o=getch();
        o=tolower(o);
        strcpy(choice,"CODE WISE");
        ft1=fopen("sort.dat","w");
    ll:
        ft2=fopen("temp.dat","w");
        ft3=fopen("data.dat","r");
        if(ft3==NULL)
           {
            printf("CAN NOT OPEN THE DATAFILES<EMPDATA.DAT>\n");
            getch();
            }
            fscanf(ft3,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
            strcpy(code,ENTRY.empcode);
            if(feof(ft3))
             {
            fprintf(ft1,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f@\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
            goto nn;
             }
         while(!feof(ft3))
         {
             if(o=='a')
              {
            strcpy(aord,"ASSCENDING");
            fscanf(ft3,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
             if(strcmp(code,ENTRY.empcode)>0)
              {
               strcpy(code,ENTRY.empcode);
              }
               }
             if(o=='d')
              {
            strcpy(aord,"DESCENDING");
            fscanf(ft3,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
             if(strcmp(code,ENTRY.empcode)<0)
              {
               strcpy(code,ENTRY.empcode);
              }
              }
         }
           rewind(ft3);
       while(!feof(ft3))
        {
          fscanf(ft3,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);

        if(strcmp(code,ENTRY.empcode)==0)
          fprintf(ft1,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f@\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
        else
          fprintf(ft2,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f@\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
        }
        fclose(ft3);
        fclose(ft2);
        remove("data.dat");
        rename("temp.dat","data.dat");
        goto ll;
        nn:
        fclose(ft3);
        fclose(ft1);
        fclose(ft2);
        remove("data.data");
        remove("temp.dat");
     }break; /* Closing second case loop  */
      case 2:
       {
        gotoxy(10,22);
        fflush(stdin);
        printf("PRESS 'A' FOR ASCENDING OR PRESS 'D' FORDECENDING ORDER");
        scanf("%c",&o);
        o=tolower(o);
        strcpy(choice,"NAME WISE");
        ft1=fopen("sort.dat","w");
    aa:
        ft2=fopen("temp.dat","w");
        ft3=fopen("data.dat","r");
           if(ft3==NULL)
            {
              printf("CAN NOT OPEN THE DATAFILES<EMPDATA.DAT>\n");
              getch();
            }
           fscanf(ft3,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
           strcpy(name,ENTRY.empname);
           if(feof(ft3))
           {
         fprintf(ft1,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f@\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
         goto bb;
         }

         while(!feof(ft3))
           {
          if(o=='a')
             {
              strcpy(aord,"ASSCENDING");
              fscanf(ft3,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
               if(strcmp(name,ENTRY.empname)>0)
             {
               strcpy(name,ENTRY.empname);
             }
             }
           if(o=='d')
             {
               strcpy(aord,"DECENDING");
               fscanf(ft3,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
             if(strcmp(name,ENTRY.empname)<0)
              {
                strcpy(name,ENTRY.empname);
              }
              }
        }
       rewind(ft3);
       while(!feof(ft3))
        {
           fscanf(ft3,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
           if(strcmp(name,ENTRY.empname)==0)
             fprintf(ft1,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f@\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
            else
             fprintf(ft2,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f@\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
        }
        fclose(ft3);
        fclose(ft2);
        remove("data.dat");
        rename("temp.dat","data.dat");
        goto aa;
       bb:
        fclose(ft3);
        fclose(ft1);
        fclose(ft2);
        remove("data.data");
        remove("temp.dat");
    }break; /*  Closing Secod case loop  */
    case 3:
       {
        gotoxy(10,22);
        fflush(stdin);
        printf("PRESS 'A' FOR ASCENDING OR PRESS 'D' FORDECENDING ORDER");
        scanf("%c",&o);
        strcpy(choice,"BASICPAYWISE");
        ft1=fopen("sort.dat","w");
    e:
        ft2=fopen("temp.dat","w");
        ft3=fopen("data.dat","r");
           if(ft3==NULL)
            {
              printf("CAN NOT OPEN THE DATAFILES<EMPDATA.DAT>\n");
              getch();
            }
           fscanf(ft3,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
           basic=ENTRY.empbas;
           if(feof(ft3))
           {
         fprintf(ft2,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f@\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
          getch();
         goto f;
         }

         while(!feof(ft3))
           {
          if(o=='a')
             {
              strcpy(aord,"ASSCENDING");
              fscanf(ft3,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
               if(basic>ENTRY.empbas)
             {
               basic=ENTRY.empbas;
             }
             }
           if(o=='d')
             {
               strcpy(aord,"DESCENDING");
               fscanf(ft3,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
             if(basic<ENTRY.empbas)
              {
                basic=ENTRY.empbas;
              }
              }
        }
       rewind(ft3);
       while(!feof(ft3))
        {
           fscanf(ft3,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
           if(ENTRY.empbas==basic)
             fprintf(ft1,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f@\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
            else
             fprintf(ft2,"%s@%s@%s@%s@%s@%s@%s@%d@%d@%d@%d@%d@%d@%f@%f@%f@%f@%f@%f@%f@%f@%f@%f@\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
        }
        fclose(ft3);
        fclose(ft2);
        remove("data.dat");
        rename("temp.dat","data.dat");
        goto e;
        f:
        fclose(ft3);
        fclose(ft1);
        fclose(ft2);
        remove("data.data");
        remove("temp.dat");
    }break;/*  Closing third case loop  */

    case 4:
      {
          goto dd;
      }
 } /* Closing switch case   */

     clrscr();
     printf("YOUR DATABASE SORTED ACCORDING GIVEN OPTION\n");
     printf("Press any key to see record");
     ft1=fopen("sort.dat","r");
     clrscr();
     a=4,b=8;
     box8();
     gotoxy(15,2);
     printf("****EMPLOYEE'S DATA RECORD MANTENENCE SYSTEM****");
     gotoxy(18,3);
     printf("%s SORTED DATA RECORD IN %s ORDER ",choice,aord);
       while(!feof(ft1))
       {
        fscanf(ft1,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
        fflush(stdin);
        gotoxy(a+2,b);
        printf("%s",ENTRY.empcode);
        gotoxy(a+10,b);
        printf("%s",ENTRY.empname);
        gotoxy(a+33,b);
        printf("%s",ENTRY.desig);
        gotoxy(a+44,b);
        printf("%s",ENTRY.dept);
        gotoxy(a+55,b);
        printf("%s",ENTRY.shift);
        gotoxy(a+64,b);
        printf("%7.2f",ENTRY.empbas);
        b=b+1,a=4;
        if(b>22)
        {
        getch();
        clrscr();
        b=8,a=3;
        }
        }
         getch();
        fclose(ft1);
       }

      dd:;
      return(0);
      }
      /* END OF SORT.C    */

/* PROGRAM FOR  ::AGE FINDING
   PROGRAM NAME ::AGE.C          */
 age(int dd,int mm,int yy)

  {
    struct
       {
     char empcode[10];
     char empname[25];
     char empfaname[25];
     char desig[15];
     char dept[10];
     char peradd[30];
     char shift[7];
     float empbas;
     }ENTRY;
       struct
       {
      int dd;
      int mm;
      int yy;
       }A,B,JD;
       struct date D;
    int u,x,g,l;
    float net_sal,tot_sal,da,hra,cca,ca,ma,pf,tax;
    char ch,c[10];
    A.dd=dd;
    A.mm=mm;
    A.yy=yy;
    {
    getdate(&D);
    if(D.da_day<A.dd)
    {
    if(D.da_mon==1||D.da_mon==3||D.da_mon==5||D.da_mon==7||D.da_mon==8
    ||D.da_mon==10||D.da_mon==12)
    {
    D.da_day+=31;
    D.da_mon-=1;
    }
    if(D.da_mon==4||D.da_mon==6||D.da_mon==9||D.da_mon==11)
    {
    D.da_day+=30;
    D.da_mon-=1;
    }
    if(D.da_mon==2 && D.da_year%4 && D.da_year/100!=0||D.da_year%400==0)
    {
    D.da_day+=29;
    D.da_mon-=1;
    }
    else
    {
    D.da_day+=28;
    D.da_mon-=1;
    }
    }
    if(D.da_mon<A.mm)
    {
    D.da_mon+=12;
    D.da_year-=1;
    }
    B.dd=D.da_day-A.dd;
    B.mm=D.da_mon-A.mm;
    B.yy=D.da_year-A.yy;/*-1900;*/
    return(B.yy);
    }
    }
    /*  END OF AGE        */

 /*   PROGRAM FOR  ::SERVICE RECORD
      PROGRAM NAME ::SERVICE.C      */
  service()
  {
    struct
       {
     char empcode[10];
     char empname[25];
     char empfaname[25];
     char desig[15];
     char dept[10];
     char peradd[30];
     char shift[7];
     float empbas;
     }ENTRY;
       struct
       {
      int dd;
      int mm;
      int yy;
       }A,B,JD;
       struct date D;
    int u,x,g,l,d,m,y;
    float net_sal,tot_sal,da,hra,cca,ca,ma,pf,tax;
    char ch,c[10];
    FILE *fp,*ft,*ft1;
       while(1)
       {
      fp=fopen("empdata.dat","r");
      if(fp==NULL)
        {
         printf("CAN NOT OPEN THE EMPDATA.DAT FILE\n");
        }
      clrscr();
      fflush(stdin);
      gotoxy(12,8);
      printf("EMPLOYEE'S DATA RECORD MANTENENCE SYSTEM\n");
      gotoxy(12,9);
      printf("YOU CAN SEE SALARY REORD AS GIVEN OPTION\n");
      gotoxy(12,11);
      printf("1.SERVICE RECORD FOR GIVEN EMPLOYEE");
      gotoxy(12,12);
      printf("2.SERVICE RECORD OF ALL EMPLOYEES");
      gotoxy(12,13);
      printf("3.FOR RETURN MAIN MENU");
      gotoxy(12,16);
      printf("ENTER THE CHOICE    ");
      gotoxy(16,18);
      printf("<CHOSE OPTION BY SERIAL NO.>");
      gotoxy(30,16);
      scanf("%d",&g);
      switch(g)
       {
         case 1:
         {
          clrscr();
          gotoxy(20,12);
          printf("ENTER THE EMPLOYEE CODE FOR SERVICE RECORD ::");
          scanf("%s",c);
          if(c=='\0')
           {
        gotoxy(20,15);
        printf("YOU HAVE NOT ENTERED ANY EMPLOYEE CODE\n");
        clrscr();
        continue;
           }
          else
           {
        while(!feof(fp))
         {
         fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);

          if(strcmp(c,ENTRY.empcode)==0)
           {
            ft1=fopen("temp1.dat","w");
            fprintf(ft1,"%s\n",ENTRY.empcode);
            fclose(ft1);
            clrscr();
            gotoxy(9,7);
            printf("========================================================");
            for(x=8;x<19;x++)
             {
             gotoxy(9,x);
             printf("||");
             gotoxy(63,x);
             printf("||");
             }
        gotoxy(9,19);
        printf("========================================================");
        gotoxy(9,10);
        printf("========================================================");
        gotoxy(15,8);
        printf("EMPLOYE'S DATA RECORD MANTENCE SYSTEM");
        gotoxy(12,9);
        printf("Service record for employee of code no.%s",ENTRY.empcode);
        gotoxy(11,11);
        printf("1.EMPLOYEE,S NAME             :%s",ENTRY.empname);
        gotoxy(11,12);
        printf("2.EMPLOYEE,S POST             :%s",ENTRY.desig);
        gotoxy(11,13);
        printf("3.EMPLOYEE,S DEPARTMENT       :%s",ENTRY.dept);
        gotoxy(11,14);
        printf("4.EMPLOYEE,S DATE OF JOINING  :%d %d %d",JD.dd,JD.mm,JD.yy);
        gotoxy(11,15);
        printf("5.EMPLOYEE,S CURRENT TOTAL PAY:%7.2f",tot_sal);
        gotoxy(11,16);
        d=A.dd;
        m=A.mm;
        y=A.yy;
        B.yy=age(d,m,y);
        printf("6.EMPLOYEE,S CURRENT AGE      :%d",B.yy);
        gotoxy(11,17);
        printf("7.EMPLOYEE,S ADDRESS          :%s",ENTRY.peradd);
        break;
           }
         }
           fopen("temp1.dat","r");
           if(feof(ft1))
           {
           clrscr();
           gotoxy(20,15);
           printf("THIS RECORD NOT FOUND");
           gotoxy(20,20);
           printf("PRESS ANY KEY TO CONTINUE");
           }
           getch();
           fclose(ft1);
           remove("temp1.dat");
           }
           break;}

   case 2:
   {
   clrscr();
   gotoxy(13,3);
   printf("**CURRENT SERVICE RECORD OF ALL EMPLOYEE **\n");

   while(!feof(fp))
   {
   fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
   gotoxy(1,6);
   printf("CODE.NO");
   gotoxy(3,l);
   printf("%s",ENTRY.empcode);
   gotoxy(13,6);
   printf("PERMANENT ADDRESS");
   gotoxy(12,l);
   printf("%s",ENTRY.peradd);
   gotoxy(36,6);
   printf("POST");
   gotoxy(36,l);
   printf("%s",ENTRY.desig);

   gotoxy(46,6);
   printf("JOIN DATE");
   gotoxy(46,l);
   printf("%d/%d/%d/",JD.dd,JD.mm,JD.yy);/*-1900);*/
   gotoxy(59,6);
   printf("AGE");
   gotoxy(58,l);
   d=A.dd;
   m=A.mm;
   y=A.yy;
   B.yy=age(d,m,y);
   printf("%d",B.yy);
   gotoxy(68,6);
   printf("TOTAL_PAY");
   gotoxy(67,l);
   printf("%8.2f",tot_sal);

   l=l+1;
   if(l>22)
   {
     gotoxy(15,24);
     printf("press any key to continue");
     getch();
     clrscr();
     l=8;
     }
     }
     getch();
     }
     break;
  case 3:
      {
      goto aa;
      }
     }
   }
     aa :;
     return(0);
     }

/* END OF SERVICE.C  */

/*   PROGRAM FOR  ::SALARY RECORD
     PROGRAM NAME ::SALARY.C         */
 salary()
{
struct
       {
     char empcode[10];
     char empname[25];
     char empfaname[25];
     char desig[15];
     char dept[10];
     char peradd[30];
     char shift[7];
     float empbas;
     }ENTRY;
       struct
       {
      int dd;
      int mm;
      int yy;
       }A,B,JD;
       struct date D;
       int u,x,g,l;

     float net_sal,tot_sal,da,hra,cca,ca,ma,pf,tax;
     char ch,c[10];
     FILE *fp,*ft,*ft1;
      while(1)
      {
      fp=fopen("empdata.dat","r");
      if(fp==NULL)
      {
      printf("CAN NOT OPEN THE EMPDATA.DAT\n");
      }
      clrscr();
      fflush(stdin);
      gotoxy(12,8);
      printf("EMLOYEE'S DATA RECORD MANTENENCE SYSTEM\n");
      gotoxy(12,9);
      printf("YOU CAN SEE SALARY RECORD AS GIVEN OPTION");
      gotoxy(12,11);
      printf("1.SALARY RECORD FOR A GIVEN PERSON");
      gotoxy(12,12);
      printf("2.SALARY RECOED OF ALL EMPLOYEES");
      gotoxy(12,13);
      printf("3.FOR RETURN MAIN MENU");
      gotoxy(12,16);
      printf("ENTER THE CHOICE  ");
      gotoxy(12,18);
      printf("<  CHOSE OPTIONS BY SERIAL NO. >");
      gotoxy(30,16);
      scanf("%d",&g);
  switch(g)
   {
      case 1:
      {
      clrscr();
      gotoxy(20,12);
      printf("ENTER THE EMPLOYEE CODE FOR SALARY RECORD ::");
      scanf("%s",c);
      if(c=='\0')
      {
       gotoxy(20,15);
       printf("YOU NOT ENTERED ANY EMPLOYEE CODE\n");
       clrscr();
       continue;
       }
       else
       {
      while(!feof(fp))
      {
        fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
        if(strcmp(c,ENTRY.empcode)==0)
        {
        clrscr();
        gotoxy(10,5);
          printf("=======================================================");
        for(x=6;x<21;x++)
        {
        gotoxy(10,x);
        printf("||");
        gotoxy(63,x);
        printf("||");
        }
          gotoxy(10,20);
          printf("=====================================================");
          gotoxy(10,8);
          printf("======================================================");
          gotoxy(15,6);
          printf("EMPLOYEE'S DATA RECORD MANTENENCE SYSTEM");
          gotoxy(14,7);
          printf("Salary record of employee of code no %s" ,ENTRY.empcode);
          gotoxy(12,9);
          printf("1.EMPLOYEE,S NAME             :%s",ENTRY.empname);
          gotoxy(12,10);
          printf("2.EMPLOYEE'S BASIC PAY        :%8.2f",ENTRY.empbas);
           gotoxy(12,11);
          printf("3.EMPLOYEE HOUSE RENT ALLOUNCE:%8.2f",hra);
          gotoxy(12,12);
          printf("4.EMPLOYEE DEARNESS ALLOUNCE  :%8.2f",da);
          gotoxy(12,13);
          printf("5.EMPLOYEE,S CITY ALLOUNCE    :%8.2f",ca);
          gotoxy(12,14);
          printf("6.EMPLOYEE,S CCA              :%8.2f",cca);
          gotoxy(12,15);
          printf("7.EMPLOYEE,S MEDICAL ALLOUNCE :%8.2f",ma);
          gotoxy(12,16);
          printf("8.PROVIDENT FUND DEDUCTION    :%8.2f",pf);
          gotoxy(12,17);
          printf("9.EMPLOYEE,S NET SALARY       :%8.2f",net_sal);
          gotoxy(12,18);
          printf("10.TAX PAID BY EMPLOYEE       :%8.2f",tax);
          gotoxy(12,19);
          printf("11.TOTAL SALARY               :%8.2f",tot_sal);
          break;
          }
          else
           {
           gotoxy(25,20);
           printf("THIS RECORD IS NOT EXIT");
           printf("\nPress Any Key toreturn salary menu");


           }
          }
          }
          getch();
          break;}
    case 2:
    {
ab:   clrscr();
      gotoxy(13,2);
      printf("******CURRENT SALARY RECORD OF ALL EMPLOYEE ******\n");
      gotoxy(13,3);
      printf("**< TOTAL PAY =(BASIC+DA+HRA+CCA+CA+MA)-(PF+TAX) >**\n");
      l=8;
    while(!feof(fp))
    {
       fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
       gotoxy(2,l);
       printf("%s",ENTRY.empcode);
       gotoxy(2,6);
       printf("CODE");
       gotoxy(8,l);
       printf("%8.2f",ENTRY.empbas);
       gotoxy(9,6);
       printf("BASIC");
       gotoxy(17,l);
       printf("%8.2f",da);
       gotoxy(19,6);
       printf("D.A.");
       gotoxy(26,l);
       printf("%6.2f",hra);
       gotoxy(27,6);
       printf("HRA");
    gotoxy(34,l);
       printf("%4.0f",cca);
       gotoxy(35,6);
       printf("CCA");
    gotoxy(40,l);
       printf("%4.0f",ca);
       gotoxy(42,6);
       printf("C.A.");
    gotoxy(47,l);
       printf("%4.0f",ma);
       gotoxy(48,6);
       printf("M.ALL");
    gotoxy(55,l);
       printf("%4.0f",pf);
       gotoxy(57,6);
       printf("P.F.");
    gotoxy(64,l);
       printf("%5.0f",tax);
       gotoxy(65,6);
       printf("TAX");
    gotoxy(70,l);
       printf("%8.2f",tot_sal);
       gotoxy(70,6);
       printf("TOTAL_PAY");
    l=l+1;
        if(l>22)
    {
     gotoxy(40,24);
     printf("HRA ,CCA,CA,MAARE APPROXIMATE VALUE");
     gotoxy(2,25);
     printf("press any key to salary menu");
     getch();
     l=8;
     goto ab;
    }
 }
 gotoxy(40,24);
 printf("  hra,cca,ca,ma,are approximate value");
 gotoxy(2,25);
 printf("PRESS ANY KEY TO SALARY MENU");
 getch();
 break;
 }
 case 3:
 {
 goto aa;
 }
}
}

aa:;
fclose(fp);
return(0);
}
/*   END OF SALARY.C  */

/*  PROGRAM FOR  ::SUMMARY GRAPHREPORT
    PROGRAM NAME ::SL.C                    */

sl()
  {
    struct
       {
     char empcode[10];
     char empname[25];
     char empfaname[25];
     char desig[15];
     char dept[10];
     char peradd[30];
     char shift[7];
     float empbas;
     }ENTRY;
       struct
       {
      int dd;
      int mm;
      int yy;
       }A,B,JD;
       struct date D;
       int d1=0,d2=0,d3=0,d4=0,d5=0;
       int gd=DETECT,gm;

     float net_sal,tot_sal,da,hra,cca,ca,ma,pf,tax,s1=0,s2=0,s3=0,s4=0,s5=0;
     char ch,c[10];
     FILE *fp;
     getdate(&D);
     fp=fopen("empdata.dat","r");
      if(fp==NULL)
      {
      printf("CAN NOT OPEN THE EMPDATA.DAT FILE\n");
      }
      clrscr();
      fflush(stdin);
      rewind(fp);
      while(!feof(fp))
      {
        fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
        if(strcmp(ENTRY.dept,"Produ")==0)
         {         d1=d1+1;
         s1=s1+tot_sal;
         }
         if(strcmp(ENTRY.dept,"Marke")==0)
         {
         d2=d2+1;
         s2=s2+tot_sal;
         }
         if(strcmp(ENTRY.dept,"Maint")==0)
         {
         d3=d3+1;
         s3+s3+tot_sal;
         }
         if(strcmp(ENTRY.dept,"Accou")==0)
         {
         d4=d4+1;
         s4=s4+tot_sal;
         }
         if(strcmp(ENTRY.dept,"Admin")==0)
         {
         d5=d5+1;
         s5=s5+tot_sal;
         }
         }
         initgraph(&gd,&gm,"c:\\tc\\bgi");
         setcolor(RED);
         line(5,1,5,430);
         line(5,430,639,430);
         setfillstyle(2,3);
         bar3d(20,(430-(d1*20)),50,430,5,1);
         bar3d(120,(430-(d2*20)),150,430,5,1);
         bar3d(220,(430-(d3*20)),250,430,5,1);
         bar3d(320,(430-(d4*20)),350,430,5,1);
         bar3d(420,(430-(d5*20)),450,430,5,1);
         bar3d(600,10,630,20,5,1);
         setfillstyle(7,5);
         bar3d(55,(430-(s1/150)),85,430,5,1);
         bar3d(155,(430-(s2/150)),185,430,5,1);
         bar3d(255,(430-(s3/150)),285,430,5,1);
         bar3d(355,(430-(s4/150)),385,430,5,1);
         bar3d(455,(430-(s5/150)),485,430,5,1);
         bar3d(550,10,580,20,5,1);
         rectangle(545,2,639,170);
        settextstyle(SANS_SERIF_FONT,HORIZ_DIR,1);
        setcolor(LIGHTRED);
        outtextxy(10,450,"Production");
        outtextxy(115,450,"Marketing");
        outtextxy(216,450,"Maintenence");
        outtextxy(340,450,"account");
        outtextxy(440,450,"administration");
        settextstyle(SMALL_FONT,VERT_DIR,5);
        setcolor(LIGHTCYAN);
        outtextxy(560,20,"Total salary<--");
        outtextxy(610,20,"Total Employee<--");
        settextstyle(TRIPLEX_FONT,HORIZ_DIR,5);
        outtextxy(160,15,"Bajaj Auto ltd.");
        fclose(fp);
        getch();
        cleardevice();
        closegraph();
        return(0);
        }
   /*    END OF SL.C      */

      /* PROGRAM FOR    ::PAYSLIP
     PROGRAM NAME   ::S1.C      */

   s1()
  {
    struct
       {
     char empcode[10];
     char empname[25];
     char empfaname[25];
     char desig[15];
     char dept[10];
     char peradd[30];
     char shift[7];
     float empbas;
     }ENTRY;
       struct
       {
      int dd;
      int mm;
      int yy;
       }A,B,JD;
       struct date D;
       int u,x,g;
     float net_sal,tot_sal,da,hra,cca,ca,ma,pf,tax;
     char ch,c[10];
     FILE *fp;
      while(1)
      {
      fp=fopen("empdata.dat","r");
      if(fp==NULL)
      {
      printf("CAN NOT OPEN THE EMPDATA.DAT FILE\n");
      }
      clrscr();
      fflush(stdin);
      gotoxy(12,8);
      printf("EMPLOYEE'S DATA RECORD MANTENENCE SYSTEM\n");
      gotoxy(12,9);
      printf("YOU CAN SEE SALARY REORD AS GIVEN OPTION\n");
      gotoxy(12,11);
      printf("1.PAY SLIP FOR GIVEN EMPLOYEE");
      gotoxy(12,12);
      printf("2.PAY SLIP OF ALL EMPLOYEES");
      gotoxy(12,13);
      printf("3.FOR RETURN MAIN MENU");
      gotoxy(12,16);
      printf("ENTER THE CHOICE:-    ");
      gotoxy(16,18);
      printf("< CHOSE OPTION BY SERIAL NO. >");
      gotoxy(30,16);
      scanf("%d",&g);
      switch(g)
      {
        case 1:
      {
        clrscr();
        gotoxy(20,12);
        printf("ENTER THE EMPLOYEE CODE FOR PAYSLIP ::");
        scanf("%s",c);
        if(c=='\0')
         {
           gotoxy(20,15);
           printf("YOU HAVE NOT ENTERED ANY EMPLOYEE CODE\n");
           clrscr();
           continue;
         }
        else
         {
          while(!feof(fp))
          {
        fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
        if(strcmp(c,ENTRY.empcode)==0)
         {
            clrscr();
            gotoxy(1,1);
            printf("=============================================================================");
            for(x=2;x<24;x++)
            {
              gotoxy(1,x);
              printf("||");
              gotoxy(76,x);
              printf("||");
              if(x<23&&x>3)
               {
            gotoxy(38,x);
            printf("||");
               }
            }
         gotoxy(1,24);
         printf("=============================================================================");
         gotoxy(1,5);
         printf("===========================================================================");
         gotoxy(1,20);
         printf("===========================================================================");
         gotoxy(1,3);
         printf("===========================================================================");
         gotoxy(1,22);
         printf("===========================================================================");
         gotoxy(38,3);
         printf("=");
         gotoxy(38,22);
         printf("=");
         gotoxy(38,5);
         printf("=");
         gotoxy(38,20);
         printf("=");
         gotoxy(10,4);
         printf("EARNING AMOUNT ");
         gotoxy(47,4);
         printf("DEDUCTING AMOUNT");
          gotoxy(3,7);
         printf("1.BASIC SALARY AMOUNT ");
         gotoxy(3,9);
         printf("2.DEARNESS AMOUNT");
          gotoxy(3,11);
         printf("3.CA AMOUNT ");
         gotoxy(3,13);
         printf("4.CCA AMOUNT");
          gotoxy(3,15);
         printf("5.MEDICAL AMOUNT ");
         gotoxy(3,17);
         printf("6.HOUSE RENT AMOUNT");
         gotoxy(3,21);
         printf("TOTAL EARNING==");
         gotoxy(40,9);
         printf("1.PROVIDENT FOUND AMOUNT");
         gotoxy(40,14);
         printf("2.TOTAL TAX AMOUNT ");
         gotoxy(40,21);
         printf("TOTAL DEDUCTION==");
          gotoxy(3,23);
         printf("NET SALARY==(TOTAL EARNING-TOTAL DEDUCTION) IS ");
         gotoxy(3,2);
         printf("CODE-  %s",ENTRY.empcode);
          gotoxy(21,2);
         printf("NAME-   %s",ENTRY.empname);
         gotoxy(51,2);
         printf("DEPRTMENT-  %s",ENTRY.dept);
          gotoxy(27,7);
         printf("%8.2f",ENTRY.empbas);
         gotoxy(27,9);
         printf("%8.2f",da);
         gotoxy(27,11);
         printf("%8.2f",ca);
         gotoxy(27,13);
         printf("%8.2f",cca);
         gotoxy(27,15);
         printf("%8.2f",ma);
         gotoxy(27,17);
         printf("%8.2f",hra);
         gotoxy(63,9);
         printf("%8.2f",pf);
         gotoxy(63,14);
         printf("%8.2f",tax);
         gotoxy(27,21);
         printf("%8.2f",ENTRY.empbas+da+ca+cca+hra+ma);
         gotoxy(63,21);
         printf("%8.2f",pf+tax);
         gotoxy(60,23);
         printf("%8.2f",tot_sal);
         gotoxy(25,25);
         printf("PRES ANY KEY TO RETURN....");
         break;
       }
       else
       {
       gotoxy(25,25);
       printf("THIS RECORD IS NOT EXIT");
       printf("\n press any key to return salary menu");
       }
     }
       }
       getch();
       break;
       }
    case 2:{
     clrscr();
     while(!feof(fp))
        {
         fscanf(fp,"%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%[^@]%*c%d%*c%d%*c%d%*c%d%*c%d%*c%d%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c%f%*c\n",ENTRY.empcode,ENTRY.empname,ENTRY.empfaname,ENTRY.desig,ENTRY.dept,ENTRY.peradd,ENTRY.shift,&JD.dd,&JD.mm,&JD.yy,&A.dd,&A.mm,&A.yy,&ENTRY.empbas,&da,&hra,&cca,&ca,&ma,&pf,&net_sal,&tax,&tot_sal);
         gotoxy(1,1);
         printf("============================================================================");
         for(x=2;x<24;x++)
         {
         gotoxy(1,x);
         printf("||");
         gotoxy(76,x);
         printf("||");
         if(x<23 && x>3)
         {
         gotoxy(38,x);
         printf("||");
         }
        }
         gotoxy(1,24);
         printf("============================================================================");
         gotoxy(1,5);
         printf("===========================================================================");
         gotoxy(1,20);
         printf("===========================================================================");
         gotoxy(1,3);
         printf("===========================================================================");
         gotoxy(1,22);
         printf("===========================================================================");
         gotoxy(38,3);
         printf("=");
         gotoxy(38,22);
         printf("=");
         gotoxy(38,5);
         printf("=");
         gotoxy(38,20);
         printf("(=");
         gotoxy(10,4);
         printf("EARNING AMOUNT ");
         gotoxy(47,4);
         printf("DEDUCTING AMOUNT");
          gotoxy(2,7);
         printf("1.BASIC SALARY AMOUNT ");
         gotoxy(2,9);
         printf("2.DEARNESS AMOUNT");
          gotoxy(2,11);
         printf("3.CA AMOUNT ");
         gotoxy(2,13);
         printf("4.CCA AMOUNT");
          gotoxy(2,15);
         printf("5.MEDICAL AMOUNT ");
         gotoxy(2,17);
         printf("6.HOUSE RENT AMOUNT");
         gotoxy(2,21);
         printf("TOTAL EARNING==");
         gotoxy(39,9);
         printf("1.PROVIDENT FOUND AMOUNT");
         gotoxy(39,14);
         printf("2.TOTAL TAX AMOUNT ");
         gotoxy(40,21);
         printf("TOTAL DEDUCTION==");
          gotoxy(2,23);
         printf("NET SALARY==(TOTAL EARNING-TOTAL DEDUCTION) IS ");
         gotoxy(2,2);
         printf("CODE-  %s",ENTRY.empcode);
          gotoxy(21,2);
         printf("NAME-   %s",ENTRY.empname);
         gotoxy(51,2);
         printf("DEPRTMENT-  %s",ENTRY.dept);
          gotoxy(27,7);
         printf("%8.2f",ENTRY.empbas);
         gotoxy(27,9);
         printf("%8.2f",da);
         gotoxy(27,11);
         printf("%8.2f",ca);
         gotoxy(27,13);
         printf("%8.2f",cca);
         gotoxy(27,15);
         printf("%8.2f",ma);
         gotoxy(27,17);
         printf("%8.2f",hra);
         gotoxy(63,9);
         printf("%8.2f",pf);
         gotoxy(63,14);
         printf("%8.2f",tax);
         gotoxy(27,21);
         printf("%8.2f",ENTRY.empbas+da+ca+cca+hra+ma);
         gotoxy(63,21);
         printf("%8.2f",pf+tax);
         gotoxy(60,23);
         printf("%8.2f",tot_sal);
         gotoxy(25,25);
         printf("PRES ANY KEY TO CONTINUE....");
         getch();

         }
         break;
       }
    case 3:{
     goto aa;
     }
    }
       }
       aa:;
       fclose(fp);
       return(0);
       }

/* END OF S1.C */

/*  PROGRAM FOR ::REPORT MENU
    PROGRAM NAME::REPOMENU.C     */
repomenu()
    {
     int x,c;

ii:
      clrscr();
      gotoxy(20,2);
      printf("=========================================");
      for(x=3;x<22;x++)
      {
       gotoxy(20,x);
       printf("||");
       gotoxy(59,x);
       printf("||");
       }
       gotoxy(20,22);
       printf("=========================================");
       gotoxy(20,5);
       printf("=========================================");
       gotoxy(20,18);
       printf("=========================================");
       gotoxy(20,20);
       printf("=========================================");
       gotoxy(23,4);
       printf("MENU FOR REPORTS OF EMPLOYEE");
       gotoxy(24,7);
       printf("1.GENARAL LIST OF EMPLOYEE");
       gotoxy(24,9);
       printf("2.SORTED LIST OF EMPLOYEE...");
       gotoxy(24,11);
       printf("3.SERVICE RECORD OF EMPLOYEE...");
       gotoxy(24,13);
       printf("4.SALARY RECORD OF EMPLOYEE...");
       gotoxy(24,15);
       printf("5.SUMMARY REPORT...");
       gotoxy(24,17);
       printf("6.EXIT");

       gotoxy(24,19);
       printf("PLEASE CHOICE OPTION BY S.NO");
       gotoxy(24,21);
       printf("ENTER THE CHOICE ==>");
       scanf("%d",&c);
       switch(c)
       {
        case 1:{
                 list();
                goto ii;
            }
       case 2:{
               srt();
               goto ii;
          }
       case 3:{
                service();
               goto ii;
          }
       case 4:{
                salary();
               goto ii;
          }
       case 5:{
                 sl();
               goto ii;
          }
       case 6:{
            break;
          }
          default:
          {
          gotoxy(24,23);
          printf("illegel choice try agin");
          getch();
          goto ii;
          }
       }
       return(0);

       }
 /*   END OF REPOMENU.C  */

 /*  PROGRAM FOR  ::WELCOME AT SYSTEM
     PROGRAM NAME ::W1.C               */
 wellcome()
 {
    int r=0,r1,r2,i;
    char msg[100],msg1[100],z1;
    int gd=DETECT,gm;
    struct date d;
    struct time t;
    getdate(&d);
    gettime(&t);
    clrscr();
     sprintf(msg,"DATE-%d:%d:%d",d.da_day,d.da_mon,d.da_year);
     sprintf(msg1,"TIME-  %d:%d:%d",t.ti_hour,t.ti_min,t.ti_sec);
     initgraph(&gd,&gm,"c:\\tc\\bgi");
     setfillstyle(1,getmaxcolor());
     setcolor(RED);
     bar3d(1,35,590,480,36,1);
     setcolor(DARKGRAY);
       for(r1=37,r2=11;r1<474&&r2<453;r1++,r2++)
       {
         line(590,r1,624,r2);
         }
         for(r1=3,r2=37;r1<584&&r2<624;r1++,r2++)
         {
         line(r1,35,r2,10);
         }
         setcolor(BROWN);
         for(r=37;r<470;r+=4)
         {
          outtextxy(4,r,"                                          ");
          if(r>176)
          setcolor(WHITE);
         if(r>321)
         setcolor(2);
         }
         setcolor(BLUE);
         settextstyle(TRIPLEX_FONT,HORIZ_DIR,7);
         outtextxy(100,20,"PROJECT  ");
         outtextxy(100,23,"PROJECT  ");
         outtextxy(100,26,"PROJECT  ");
         outtextxy(100,29,"PROJECT  ");
         outtextxy(100,32,"PROJECT  ");
         setcolor(YELLOW);
         settextstyle(GOTHIC_FONT,HORIZ_DIR,7);
         outtextxy(250,100,"ON");
         outtextxy(250,103,"ON");
         outtextxy(250,106,"ON");
         outtextxy(250,109,"ON");
         outtextxy(250,112,"ON");
         setcolor(RED);
         settextstyle(TRIPLEX_FONT,HORIZ_DIR,5);
         outtextxy(30,180,"PERSONAL");
         outtextxy(30,182,"PERSONAL");
         outtextxy(30,184,"PERSONAL");
         outtextxy(30,186,"PERSONAL");
         outtextxy(200,225,"MANAGMENT");
         outtextxy(200,227,"MANAGMENT");
         outtextxy(200,229,"MANAGMENT");
         outtextxy(200,231,"MANAGMENT");
         outtextxy(400,271,"SYSTEM");
         outtextxy(400,273,"SYSTEM");
         outtextxy(400,275,"SYSTEM");
         outtextxy(400,277,"SYSTEM");
         setcolor(MAGENTA);
         settextstyle(SMALL_FONT,HORIZ_DIR,8);
         outtextxy(20,330,"SUPERVISED BY...");
         outtextxy(30,360,"Mr.Manoj Kumar");
         settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2);
         outtextxy(230,420,msg);
         outtextxy(230,450,msg1);
         settextstyle(TRIPLEX_FONT,HORIZ_DIR,1);
         outtextxy(350,330,"CODED BY...");
         outtextxy(350,360,"MANISH KUMAR SINGH");
         getch();
         clrscr();
         i=0;
         setcolor(BLUE);
         for(i=0;i<400;i+=1)
         {
        circle(320,238,i);
        if(i>217);
        setcolor(RED);
        }
        r=150;
        setcolor(WHITE);
        for(i=0;i<40;i++)
         {
           settextstyle(TRIPLEX_FONT,HORIZ_DIR,7);
           outtextxy(80,r,"Bajaj Auto Ltd.");
           r+=2;
         }

           delay(1300);
           getch();
           closegraph();

           return(0);
           }
    /*     END OF W1.C     */


   /*    PROGRAM FOR      ::MAIN MENU
     PROGRAM NAME     ::MAIN.C
     PROGRAM CODED BY ::MANISH KUMAR     */

main()

       {
     char ch,z1;
     int r;
     int gd=DETECT,gm;
     wellcome();
     clrscr();
 u:
     initgraph(&gd,&gm,"c:\\tc\\bgi");

     setcolor(2);
     rectangle(3,3,600,400);
     setcolor(3);
     rectangle(8,8,595,395);
     setcolor(4);
     rectangle(13,13,590,391);
     setcolor(5);
     rectangle(18,18,585,386);
     setcolor(6);
     rectangle(23,23,579,381);
     setcolor(7);
     rectangle(28,28,574,376);
     setcolor(9);
     rectangle(33,33,569,371);
     setcolor(3);
     rectangle(38,38,564,366);
     setcolor(1);
    for (r=41;r<358;r+=7)
    {
     outtextxy(41,r,"                                        ");
     }
     setcolor(2);
     rectangle(78,68,524,330);
     rectangle(75,65,527,333);
     setcolor(7);
    for(r=72;r<320;r+=7)
     {
      outtextxy(81,r,"                                        ");
     }
      setcolor(RED);
      rectangle(83,73,519,117);
      setcolor(WHITE);
      settextstyle(TRIPLEX_FONT,HORIZ_DIR,5);
      outtextxy(87,61,"**** MAIN MENU ****\n\n");
      outtextxy(87,65,"**** MAIN MENU ****\n\n");
      outtextxy(87,69,"**** MAIN MENU ****\n\n");
      outtextxy(87,63,"**** MAIN MENU ****\n\n");
      settextstyle(GOTHIC_FONT,HORIZ_DIR,4);
      setcolor(RED);
      settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);
      outtextxy(210,120,"    OPTION ");
      setcolor(WHITE);
      outtextxy(95,170,"    [p]   for   Processing\n");
      outtextxy(95,200,"    [r]   for   Records\n");
      outtextxy(95,230,"    [s]   for   Payslip\n");
      outtextxy(95,260,"    [e]   for   Exit\n\n");

ii :      outtextxy(130,282,"please enter your choice [__]  ");
      fflush(stdin);
      gotoxy(57,19);
      z1=getch();
      z1=tolower(z1);
     if(z1=='p'||z1=='r'||z1=='e'||z1=='s')
    {
        closegraph();
       switch(z1)
         {
         case'p':

           procmenu ();
           goto u;

         case 'r' :

          repomenu();
          goto u;


         case 's':

          s1();
          goto u;


         case 'e' :
          wellcome();
          break;

         default:
           {
        outtextxy(95,300,"ILLIGAL CHOICE       TRY AGAIN !!!");
        delay(20);
        goto u;
           }
      }
       }
       else
       goto ii;


  return(0);

  }
  /*  END OF MAIN.C */

0 Comments:

Post a Comment



Older Post Home

हमारे बारे मे