My Youtube Channel

Please Subscribe

Flag of Nepal

Built in OpenGL

Word Cloud in Python

With masked image

Monday, July 31, 2017

Graphics in C

#include <windows.h>
#include <stdio.h>
void SetColorAndBackground(int ForgC, int BackC);
void main()
{
    int f,b;

        system("cls");
        printf("Enter fore and background color code : ");
        scanf("%d",&f);
        SetColorAndBackground(f,16);   //color value range 0 up-to 256
        printf("what is text background color");
        SetColorAndBackground(30,256);
        printf("\nCOLOR IN CODE BLOCKS...");
        getch();


}
void SetColorAndBackground(int ForgC, int BackC)
{
     WORD wColor = ((BackC & 0x0F) << 4) + (ForgC & 0x0F);;
     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor);
}

Check if a string is palindrome or not in C ?

#include<stdio.h>
#include<string.h>
void main()
{
    char word[50];
    int i,j,l,c=0;
    printf("Enter a word : ");
    gets(word);
    l=strlen(word);
    for(i=0,j=l-1;i<l/2;i++,j--)
    {
        if(word[i]-word[j]>0)
        {
            c=1;
            break;
        }
    }
    if(c==0)
    {
        printf("Palindrome");
    }
    else
    {
        printf("Not palindrome");
    }
    getch();
}

Check if 3rd digit of a no. is prime or not in C ?

#include<stdio.h>
int digitcount(int x)
{
    int r,c=0,i=0,y=x;
    while(x!=0)
    {
        r=x%10;
        x=x/10;
        c++;
    }
    while(y!=0)
    {
        r=y%10;
        y=y/10;
        i++;
        if(i==c-2)
        {
            return r;
        }
    }
}
void primecheck(int p)
{
    int count=0,j;
    for(j=1;j<=p;j++)
    {
        if(p%j==0)
        {
            count++;
        }
    }
    if(count==2)
    {
        printf("3rd digit i.e. %d is prime.",p);
    }
    else
    {
        printf("3rd digit i.e. %d is not prime.",p);
    }
}
void main()
{
    int n,digino;
    printf("Enter the number  : ");
    scanf("%d",&n);
    digino=digitcount(n);
    primecheck(digino);
    getch();
}

Application of struct in C

#include<stdio.h>
#include<string.h>
struct student
{
    char name[20];
    int roll;
};
void main()
{
  struct student s[10],t;
  int i,n,j;
  printf("Enter no. of students : ");
  scanf("%d",&n);
  for(i=0;i<n;i++)
  {
      printf("Enter %dth student's name and roll : ",i+1);
      scanf("%s%d",s[i].name,&s[i].roll);
  }
  for(i=0;i<=n-2;i++)
  {
      for(j=i+1;j<=n-1;j++)
      {
          if(strcmp(s[i].name,s[j].name)>0)
          {
              t=s[i];
              s[i]=s[j];
              s[j]=t;
          }
      }
  }
  printf("\nName sorted in alphabetical order is : ");
  printf("\nName\tRoll No.");
  for(i=0;i<n;i++)
  {
      printf("\n%s\t%d",s[i].name,s[i].roll);
  }
  getch();
}

Check if a no. is prime or not in C ?

#include<stdio.h>
int testprime(int ,int);
void main()
{
    int n,prime;
    printf("Enter a positive number : ");
    scanf("%d",&n);
    prime=testprime(n,n/2);
    if(prime==1)
        printf("%d is prime number.",n);
    else
        printf("%d is not a prime number.",n);
    getch();
}
int testprime(int num, int i)
{
    if(i==1)
    {
        return 1;
    }
    else
    {
        if(num%i==0)
        {
            return 0;
        }
        else
        {
            testprime(num,i-1);
        }
    }
}

Find HCF in C

#include<stdio.h>
int hcf(int a,int b,int c)
{
    if(a%c==0 && b%c==0)
    return c;
    hcf(a,b,c-1);
}
void main()
{
    int h,x,y;
    printf("Enter two numbers x and y : ");
    scanf("%d%d",&x,&y);
    if(x>y)
    {
        h=hcf(x,y,y);
    }
    else
    {
        h=hcf(y,x,x);
    }
    printf("The HCF of the entered number is : %d",h);
    getch();
}

Find fibonacci series in C

#include<stdio.h>
void fibonacci(int);
void main()
{
    int n,first=0,second=1;
    printf("Enter the number of fibonacci series to be printed : ");
    scanf("%d",&n);
    printf("%d\t%d\t",first,second);
    fibonacci(n);
    getch();
}
void fibonacci(int n)
{
    static int first=0,second=1,sum=0;
    if(n-2>0)
    {
        sum=first+second;
        first=second;
        second=sum;
        printf("%d\t",sum);
        fibonacci(n-1);
    }
}

Find no. of vowels in a string in C


#include<stdio.h>
void strcount(char []);
void main()
{
  char str[50];
  char c;
  while(1)
  {
    printf("enter string\n");
    //gets(str);
    scanf("%s",str);
    strcount(str);

    printf("want to run again? press y/n \n");
    scanf("%s",&c);
    if(c == 'n' || c == 'N')
        break;
  }
}
void strcount(char str[50])
{
int i,j=0;
for (i=0;str[i]!=NULL;i++)
 {
  if( str[i]=='a'||str[i]=='A'||str[i]=='e'||str[i]=='E'||str[i]=='i'||str[i]=='I'||str[i]=='o'||str[i]=='O'||str[i]=='u'||str[i]=='U')
  j++;
 }
 printf("count of vowels in string is %d\n",j);
}

Find triangular no. in C

#include<stdio.h>
void main()
{
    int n1,n2,i,t;
    printf("Enter two numbers : ");
    scanf("%d%d",&n1,&n2);
    for(i=1;i<=n2;i++)
    {
        t = i*(i+1)/2;
        if(t>=n1 && t<=n2)
        {
            printf("%d ",t);
        }
    }
    getch();
}

Find highest paid employee in C

#include<stdio.h>
struct emp
{
    char name[50];
    int salary;
};
void main()
{
    int n,i,sum=0,avg;
    struct emp e[20],ls,hs;
    printf("Enter the number of employee : ");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        printf("Enter the name and salary of employees : ");
        scanf("%s%d",e[i].name,&e[i].salary);
        sum = sum + e[i].salary;
    }
    avg = sum/n;
    ls.salary=e[0].salary;
    for(i=1;i<n;i++)
    {
        if(ls.salary>e[i].salary)
        {
            ls=e[i];
        }
    }
    hs.salary=e[0].salary;
    for(i=1;i<n;i++)
    {
        if(hs.salary<e[i].salary)
        {
            hs=e[i];
        }
    }
    printf("\nAVERAGE SALARY = %d",avg);
    printf("\n\nThe highest salary of employee is\nNAME\t\tSALARY");
    printf("\n%s\t\t%d",hs.name,hs.salary);
    printf("\n\nThe lowest salary of employee is\nNAME\t\tSALARY");
    printf("\n%s\t\t%d",ls.name,ls.salary);
    printf("\n\nEMPLOYEE HAVING SALARY ABOVE 15000");
    printf("\nNAME\t\tSALARY");
    for(i=0;i<n;i++)
    {
        if(e[i].salary>15000)
        {
            printf("\n%s\t\t%d",e[i].name,e[i].salary);
        }
    }
    getch();
}

Operations on complex numbers in C

#include<stdio.h>
struct cmplx
{
    float real;
    float img;
};
struct cmplx add(struct cmplx x, struct cmplx y)
{
    struct cmplx z;
    z.real = x.real + y.real;
    z.img = x.img + y.img;
    return(z);
}
struct cmplx sub(struct cmplx x, struct cmplx y)
{
    struct cmplx z;
    z.real = x.real - y.real;
    z.img = x.img - y.img;
    return(z);
}
struct cmplx mul(struct cmplx x, struct cmplx y)
{
    struct cmplx z;
    z.real = x.real * y.real- x.img * y.img;
    z.img = x.real * y.img + x.img * y.real;
    return(z);
}
struct cmplx div(struct cmplx x, struct cmplx y)
{
    struct cmplx z;
    z.real = (x.real*y.real+x.img*y.img)/(y.real*y.real+y.img*y.img);
    z.img = (y.real*x.img-y.img*x.real)/(y.real*y.real+y.img*y.img);
    return(z);
}
void main()
{
    struct cmplx c1,c2,c3;
    char ch;
    printf("Enter the operator +,-,*,/ : ");
    ch = getchar();
    printf("\nEnter the real part of fist complex number : ");
    scanf("%f",&c1.real);
    printf("\nEnter the imaginary part of fist complex number : ");
    scanf("%f",&c1.img);
    printf("\nEnter the real part of 2nd complex number : ");
    scanf("%f",&c2.real);
    printf("\nEnter the imaginary part of 2nd complex number : ");
    scanf("%f",&c2.img);
    switch(ch)
    {
        case '+':
        {
            c3=add(c1,c2);
            break;
        }
        case '-':
        {
            c3=sub(c1,c2);
            break;
        }
        case '*':
        {
            c3=mul(c1,c2);
            break;
        }
        case '/':
        {
            c3=div(c1,c2);
            break;
        }
        default:
        {
            printf("Invalid operator....\a");
            break;
        }
    }
    printf("\n\nThe result is %f + %fi",c3.real,c3.img);
}

Arranging numbers in ascending and descending order in C

#include<stdio.h>
void main()
{
    int x[5],i,j,temp;
    for(i=0;i<=4;i++)
    {
        printf("Enter x[%d]th number : ",i);
        scanf("%d",&x[i]);
    }
    for(i=0;i<=5-2;i++)
    {
        for(j=i+1;j<=5-1;j++)
        {
            if(x[i]>x[j])
            {
                temp=x[i];
                x[i]=x[j];
                x[j]=temp;
            }
        }
    }
    printf("\nIn Ascending Order : ");
    for(i=0;i<=4;i++)
    {
        printf("%d  ",x[i]);
    }
    printf("\nIn Descending Order : ");
    for(i=4;i>=0;i--)
    {
        printf("%d  ",x[i]);
    }
    getch();
}

Find largest and smallest no. in C

#include<stdio.h>
void main()
{
    int x[10],i,j,temp;
    for(i=0;i<=9;i++)
    {
        printf("Enter %dth number : ",i+1);
        scanf("%d",&x[i]);
    }
    for(i=0;i<=8;i++)
    {
        for(j=i+1;j<=9;j++)
        {
           if(x[i]<x[j])
           {
               temp=x[i];
               x[i]=x[j];
               x[j]=temp;
           }
        }
    }
    printf("\nThe largest of 10 entered numbers is %d",x[0]);
    //printf("\nThe smallest of 10 entered numbers is %d",x[9]);
    getch();
}

Display string after deleting vowels in it in C

#include<stdio.h>
void main()
{
    char str[50],i;
    printf("Enter a string : ");
    gets(str);

    printf("\nAfter deleting vowels :\t");

    for(i=0;str[i]!='\0';i++)
    {
        if(str[i]=='a'||str[i]=='A'||str[i]=='e'||str[i]=='E'||str[i]=='i'||str[i]=='I'||str[i]=='o'||str[i]=='O'||str[i]=='u'||str[i]=='U')
        {
            continue;
        }
        else
        {
            printf("%c",str[i]);
        }
    }
    getch();
}

Count no. of words in a sentence in C

#include<stdio.h>
void main()
{
    char str[50],i,wordcount=0;
    printf("Enter a line of text : ");
    gets(str);
    for(i=0;str[i]!='\0';i++)
    {
        if(str[i]==32)
        {
           wordcount++;
        }
        if(str[i]==' ' && str[i-1]==' ')
        {
            wordcount--;
        }



    }
    if(str[0]==' ' || str[0]=='\0')
    {
        wordcount=-1;
    }


    printf("\n\nThe number of words in the line of text entered is %d",wordcount+1);
    getch();
}

Sorting names in C

#include<stdio.h>
//#include<string.h>

void copystring(char txt1[], char txt2[])
{
    int k;
    for(k=0;txt2[k]!='\0';k++)
    {
        txt1[k]=txt2[k];
    }
    txt1[k]='\0';
}

int comparestring(char str1[], char str2[])
{
    int p,difference;
    for(p=0;str1[p]!='\0' || str2[p]!='\0';p++)
    {
        difference=str1[p]-str2[p];
        if(difference!=0)
        {
            break;
        }
    }
    return(difference);
}

void swapstring(char txt1[], char txt2[])
{
    int i,temp[50];
    for(i=0;txt2[i]!='\0';i++)
    {
        temp[i]=txt2[i];
    }
    temp[i]='\0';
    for(i=0;txt1[i]!='\0';i++)
    {
        txt2[i]=txt1[i];
    }
    txt2[i]='\0';
    for(i=0;temp[i]!='\0';i++)
    {
        txt1[i]=temp[i];
    }
    txt1[i]='\0';
}

void main()
{
    char name[25][40],temp[40];
    int n,i,j;

    printf("Enter number of names to be sorted in ascending order : ");
    scanf("%d",&n);

    printf("\nEnter %d names to be sorted : \n",n);
    for(i=0;i<n;i++)
    {
        scanf("%s",name[i]);
    }
    for(i=0;i<=n-2;i++)
    {
        for(j=i+1;j<=n-1;j++)
        {

            if(comparestring(name[i],name[j])>0)
            {
                swapstring(name[i],name[j]);
                //copystring(temp,name[i]);
                //copystring(name[i],name[j]);
                //copystring(name[j],temp);
            }
        }
    }
    printf("\nThe sorted name in ascending order is : \n");
    for(i=0;i<n;i++)
    {
        printf("\n%s",name[i]);
    }
    getch();

}

Copying string 2 to string 1

#include<stdio.h>
void copystr(char [],char []);
void main()
{
    char str1[50],str2[50];
    printf("Enter 1st string,str1 : ");
    gets(str1);
    printf("\nEnter 2nd string,str2 : ");
    gets(str2);
    copystr(str1,str2);
    printf("\n\nAfter copying str2 in str1\n\nstr1 is %s ",str1);

    getch();
}
void copystr(char txt1[], char txt2[])
{
    int i;
    for(i=0;txt2[i]!='\0';i++)
    {
        txt1[i]=txt2[i];
    }
    txt1[i]='\0';

}

Concatenation of two string in C

#include<stdio.h>
void catstr(char [],char []);
void main()
{
    char str1[50],str2[50];
    printf("Enter 1st string (str1) :");
    gets(str1);
    printf("\nEnter 2nd string (str2) :");
    gets(str2);
    catstr(str1,str2);
    printf("\n\nAfter concatenating(joining) these strings\n\nFinal string is ");
    puts(str1);
    getch();
}
void catstr(char txt1[], char txt2[])
{
    int i,j;
    for(i=0;txt1[i]!='\0';i++);
    for(j=0;txt2[j]!='\0';j++,i++)
    {
        txt1[i]=txt2[j];
    }
    txt1[i]='\0';

}

Code in C to multiply two matrix

#include<stdio.h>
void matmultiply(int m[3][3], int n[3][3]);
void read(int x[3][3]);
//void read2(int y[3][3]);
void main()
{
    int a[3][3],b[3][3],l,w;
    printf("\nFor matrix a :-\n");
    read(a);
    printf("\nFor matrix b :-\n");
    read(b);
    printf("\nMatrix a :\n");
    for(l=0;l<3;l++)
    {
        for(w=0;w<3;w++)
        {
            printf("%d\t",a[l][w]);
        }
        printf("\n");
    }
    printf("\nMatrix b :\n");
    for(l=0;l<3;l++)
    {
        for(w=0;w<3;w++)
        {
            printf("%d\t",b[l][w]);
        }
        printf("\n");
    }
    matmultiply(a,b);
    getch();
}
void read(int x[3][3])
{
    int r,s;
    for(r=0;r<3;r++)
    {
        for(s=0;s<3;s++)
        {
            printf("Enter the [%d][%d]th element of matrix : ",r,s);
            scanf("%d",&x[r][s]);
        }
    }
}
void matmultiply(int m[3][3], int n[3][3])
{
    int t[3][3],i,j,k;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            t[i][j]=0;
            for(k=0;k<3;k++)
            {
               t[i][j]=t[i][j]+m[i][k]*n[k][j];
            }
        }
    }
    printf("\nThe resultant matrix after multiplying is :-\n");
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            printf("%d\t",t[i][j]);
        }
        printf("\n");
    }

}

Telephone directory

Code for telephone directory in c


#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<time.h>
struct teledir
{
    char firstname[50];
    char lastname[50];
    char address[50];
    char landline[15];
    char mobile[15];
}td;
struct signup
{
    char firstname[20];
    char lastname[20];
    char email[50];
    char password[20];
}s;
int f=0,ls=0;
char em[50];
void gotoxy(int x,int y)
{
    COORD coord;
    coord.X=x;
    coord.Y=y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
void SetColorAndBackground(int ForgC, int BackC)
{
     WORD wColor = ((BackC & 0x0F) << 4) + (ForgC & 0x0F);;
     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor);
}

void rectangle(int x, int y, int l, int b)
{
    int i,j;
    gotoxy(x,y);
    printf("%c",201);
    for(i=x+1;i<l-1;i++)
    {
        printf("%c",205);
    }
    gotoxy(x,y+1);
    for(i=y+1;i<b-1;i++)
    {
        gotoxy(x,i);
        printf("%c",186);
    }
    gotoxy(x,b-1);
    printf("%c",200);
    gotoxy(x+1,b-1);
    for(i=x+1;i<l-1;i++)
    {
        printf("%c",205);
    }
    printf("%c",188);
    gotoxy(l-1,y);
    printf("%c",187);
    gotoxy(l-1,y+1);
    for(i=y+1;i<b-1;i++)
    {
        gotoxy(l-1,i);
        printf("%c",186);
    }
}
void delay(unsigned int mseconds)
{
    clock_t goal = mseconds + clock();
    while (goal > clock());
}
void animation(char *anm,int a,int b)
{
  int i;
  for(i=0;i<strlen(anm);i++)
  {
      delay(150);
      gotoxy(a+i,b);
      printf("%c",*(anm+i));
  }
}
void wait()
{
    int i;

    printf("PLEASE WAIT...");
    for(i=0;i<10;i++)
    {
        delay(100);
        printf(".");
    }

}
void readnum(char *word)
{
        int i=0;
        word[i] = getch();
        while(word[i]!='\r')
        {
            if(word[i]=='\b')
            {

                 printf("\b \b");
                 i--;
            }
            else if((word[i]>=48&&word[i]<=57)||(word[i]=='+')||(word[i]=='-')||(word[i]=='*')||(word[i]=='#'))
            {
                printf("%c",word[i]);
                i++;
            }
            word[i]=getch();
        }
        word[i]='\0';
}
void upsign()
{
    FILE *fp,*tdr;
    char first[50],last[50];
    int c=0;
    system("cls");
    do
    {
        c=0;
        fp=fopen("id.txt","ab+");
        if(fp==NULL)
        {
            printf("Can't access the desired file.....");

        }
        SetColorAndBackground(14,16);
        rectangle(10,10,60,20);
        gotoxy(12,12);
        printf("ENTER YOUR FIRST NAME : ");
        gets(first);
        fflush(stdin);
        gotoxy(12,14);
        printf("ENTER YOUR LAST NAME : ");
        gets(last);
        fflush(stdin);
        gotoxy(12,16);
        printf("ENTER UNIQUE USERNAME : ");
        gets(em);
        while(fread(&s,sizeof(s),1,fp)==1)
        {
            if(strcmp(s.email,em)==0)
            {
                c++;
            }

        }
        if(c!=0)
        {
            gotoxy(12,31);
            printf("ALREADY EXISTS......");
            getch();
            system("cls");
            continue;
        }
        strcpy(s.email,em);
        fflush(stdin);
        gotoxy(12,18);
        printf("ENTER PASSSWORD : ");
        readpass(s.password);
        strcpy(s.firstname,first);
        strcpy(s.lastname,last);
        fflush(stdin);
        fwrite(&s,sizeof(s),1,fp);
        tdr=fopen(em,"ab+");
    }while(c!=0);
    fclose(fp);
    fclose(tdr);
}
void inlog()
{
    FILE *fp,*tdr;
    int flag=1;
    char ch,pass[20],x;
    system("cls");
    fp=fopen("id.txt","ab+");
    if(fp==NULL)
    {
        printf("Can't access the desired file.....");

    }
    SetColorAndBackground(9,16);
    rectangle(7,7,60,20);
    gotoxy(12,10);
    printf("ENTER USERNAME : ");
    scanf("%s",em);
    fflush(stdin);
    gotoxy(12,15);
    printf("ENTER PASSWORD : ");
    readpass(pass);
    fflush(stdin);
    while(fread(&s,sizeof(s),1,fp)==1)
    {
        if((strcmp(s.email,em)==0) && (strcmp(s.password,pass)==0))
        {
            gotoxy(12,21);
            wait();
            gotoxy(12,22);
            printf("\aLOGIN SUCCESSFUL...PRESS ANY KEY......");
            getch();
            tdr=fopen(em,"ab+");
            flag=0;
            break;
        }

    }
    if(flag==1)
    {
        gotoxy(12,22);
        printf("\aUSERNAME OR PASSWORD ERROR.....!!!");
        getch();
        system("cls");
        //inlog();
        ls=0;
        main();
    }
    fclose(fp);
    fclose(tdr);
}
void readpass(char pass[])
{
    int i=0;
    pass[i]=getch();

    while(pass[i]!='\r')
    {

        if(pass[i]=='\b')
        {

                 printf("\b \b");
                 i--;
        }
        else if((pass[i]>='a'&&pass[i]<='z')||(pass[i]>='A'&&pass[i]<='Z')||(pass[i]>='0'&&pass[i]<='9'))
        {
            printf("%c",42);//42 is the ascii value of *
            i++;
        }
         pass[i]=getch();

    }
    pass[i]='\0';
}
void frontscreen()
{
    int i,d=200;
    system("cls");
    rectangle(0,0,80,24);
    gotoxy(30,3); printf("T_");delay(d);
    gotoxy(30,3); printf("TE_");delay(d);
    gotoxy(30,3); printf("TEL_");delay(d);
    gotoxy(30,3); printf("TELE_");delay(d);
    gotoxy(30,3); printf("TELEP_");delay(d);
    gotoxy(30,3); printf("TELEPH_");delay(d);
    gotoxy(30,3); printf("TELEPHO_");delay(d);
    gotoxy(30,3); printf("TELEPHON_");delay(d);
    gotoxy(30,3); printf("TELEPHONE_");delay(d);
    gotoxy(30,3); printf("TELEPHONE _");delay(d);
    gotoxy(30,3); printf("TELEPHONE D_");delay(d);
    gotoxy(30,3); printf("TELEPHONE DI_");delay(d);
    gotoxy(30,3); printf("TELEPHONE DIR_");delay(d);
    gotoxy(30,3); printf("TELEPHONE DIRE_");delay(d);
    gotoxy(30,3); printf("TELEPHONE DIREC_");delay(d);
    gotoxy(30,3); printf("TELEPHONE DIRECT_");delay(d);
    gotoxy(30,3); printf("TELEPHONE DIRECTO_");delay(d);
    gotoxy(30,3); printf("TELEPHONE DIRECTOR_");delay(d);
    gotoxy(30,3); printf("TELEPHONE DIRECTORY");delay(d);

    gotoxy(29,4);
    for(i=0;i<21;i++)
    {
        printf("%c",22);
    }
    gotoxy(33,9);
    printf("PROGRAMMED BY ");
    gotoxy(31,10);
    for(i=0;i<17;i++)
    {
        printf("%c",196);
    }
    gotoxy(35,12);
    printf("AJAY YADAV");
    gotoxy(35,14);
    printf("BCE AB 010");
    gotoxy(38,16);  printf("2070");
    gotoxy(28,20);
    printf("PRESS ANY KEY TO CONTINUE...");
    getch();
}
int menu()
{
    int i,choice;
    system("cls");
    SetColorAndBackground(10,16);
    rectangle(0,0,80,24);
    animation("MAIN MENU",32,2);
    gotoxy(57,1);         printf("%c %s %s",16,s.firstname,s.lastname);
    gotoxy(30,3);         for(i=0;i<13;i++)
                          printf("%c",196);
    gotoxy(20,5);        SetColorAndBackground(9,16);  printf("1   TO ADD     RECORD IN DIRECTORY");
    gotoxy(20,7);        SetColorAndBackground(10,16); printf("2   TO LIST    RECORD IN DIRECTORY");
    gotoxy(20,9);        SetColorAndBackground(11,16); printf("3   TO MODIFY  RECORD IN DIRECTORY");
    gotoxy(20,11);       SetColorAndBackground(12,16); printf("4   TO DELETE  RECORD IN DIRECTORY");
    gotoxy(20,13);       SetColorAndBackground(13,16); printf("5   TO SEARCH  RECORD IN DIRECTORY");
    gotoxy(20,15);       SetColorAndBackground(14,16); printf("6   TO LOG OUT AND QUIT THE PROGRAMME");
    gotoxy(17,16);
    for(i=0;i<40;i++)
    {
        printf("%c",196);
    }
    gotoxy(17,17);
    printf("ENTER YOUR CHOICE : ");
    scanf("%d",&choice);
    return(choice);
}
void add()
{
    FILE *fpointer;char condition=1,color=9;
    fpointer = fopen(em,"ab+");
    if(fpointer==NULL)
    {
        printf("ERRROR IN OPENING FILE......\a\a");
    }
    while(1)
    {
        fflush(stdin);
        system("cls");
        SetColorAndBackground(color,16);
        rectangle(0,0,80,3);
        animation(">> ADD RECORD",23,1);
        gotoxy(57,1); printf("%c %s %s",16,s.firstname,s.lastname);
        rectangle(5,5,70,22);
        gotoxy(9,8);
        fflush(stdin);
        printf("FIRSTNAME : ");
        scanf("%s",td.firstname);
        fflush(stdin);
        gotoxy(9,10);
        printf("LASTNAME : ");
        scanf("%s",td.lastname);
        fflush(stdin);
        gotoxy(9,12);
        printf("ADDRESS : ");
        scanf("%s",td.address);
        fflush(stdin);
        gotoxy(9,14);
        printf("LANDLINE : ");
        readnum(td.landline);
        fflush(stdin);
        gotoxy(9,16);
        printf("MOBILE : ");
        readnum(td.mobile);
        fflush(stdin);
        fwrite(&td,sizeof(td),1,fpointer);
        fflush(stdin);
        gotoxy(9,18);
        printf("ENTER ESC KEY TO EXIT AND ANY KEY TO INPUT MORE DATA : ");
        condition=getche();
        if(condition==27) //27 is ascii value of  esc
        {
            gotoxy(9,24);
            break;
        }
        color++;
        if(color>=14)
        {
            color=9;
        }

    }
    fclose(fpointer);
}
void list()
{
    FILE *fpointer;  int i=7,j,record=0,color=9;
    system("cls");
    SetColorAndBackground(11,16);
    rectangle(0,0,80,3);
    animation(">> LIST OF RECORD",2,1);
    gotoxy(57,1); printf("%c %s %s",16,s.firstname,s.lastname);
    fpointer=fopen(em,"rb");
    if(fpointer==NULL)
    {
        printf("Can't access.....");
    }
    SetColorAndBackground(14,16);
    gotoxy(2,5);         printf("FIRST NAME");
    gotoxy(17,5);        printf("LAST NAME");
    gotoxy(32,5);        printf("ADDRESS");
    gotoxy(47,5);        printf("LANDLINE");
    gotoxy(62,5);        printf("MOBILE");
    gotoxy(1,6);
    for(j=0;j<78;j++)
    {
        printf("%c",205);
    }
    while(fread(&td,sizeof(td),1,fpointer)==1)
    {
        SetColorAndBackground(color,16);
        fflush(stdin);
        gotoxy(2,i);
        printf("%s",td.firstname);
        fflush(stdin);
        gotoxy(17,i);
        printf("%s",td.lastname);
        fflush(stdin);
        gotoxy(32,i);
        printf("%s",td.address);
        fflush(stdin);
        gotoxy(47,i);
        printf("%s",td.landline);
        fflush(stdin);
        gotoxy(62,i);
        printf("%s",td.mobile);
        fflush(stdin);
        printf("\n ");
        for(j=0;j<78;j++)
        {
            printf("%c",196);
        }
        i=i+2;
        record++;
        color++;
        if(color>=14)
        {
            color=9;
        }
    }
    gotoxy(24,1);            printf("No. OF RECORDS IS %d",record);
    gotoxy(30,record*2+9);   printf("PRESS ANY KEY....");
    fclose(fpointer);
    getch();
}
void search()
{
    system("cls");
    int i,j,k=6,srch,fr=0,lr=0,ar=0,liner=0,mr=0;
    FILE *fpointer;     char frstname[50],lstname[50],adrs[50],line[15],mo[15];
    system("cls");
    fpointer=fopen(em,"rb");
    if(fpointer==NULL)
    {
        printf("ACCESS DENIED.......\a");
    }
    rectangle(0,0,80,24);
    SetColorAndBackground(10,16);
    animation("SEARCH MENU",32,2);
    gotoxy(57,1);         printf("%c %s %s",16,s.firstname,s.lastname);
    gotoxy(30,3);         for(i=0;i<15;i++)
                          printf("%c",196);
    gotoxy(20,5);         printf("1   TO SEARCH  THE  RECORD  BY FIRST NAME");
    gotoxy(20,7);         printf("2   TO SEARCH  THE  RECORD  BY LAST NAME");
    gotoxy(20,9);         printf("3   TO SEARCH  THE  RECORD  BY ADDRESS");
    gotoxy(20,11);        printf("4   TO SEARCH  THE  RECORD  BY LANDLINE");
    gotoxy(20,13);        printf("5   TO SEARCH  THE  RECORD  BY MOBILE NO.");
    gotoxy(20,15);        printf("%c   OR PRESS OTHER NUM KEY FOLLOWED BY ENTER",5);
    gotoxy(17,16);
    for(i=0;i<50;i++)
    {
        printf("%c",196);
    }
    gotoxy(17,17);
    printf("HOW DO YOU WANT TO SERACH ? : ");
    scanf("%d",&srch);
    if(srch==1)
    {
        system("cls");       SetColorAndBackground(11,16);
        rectangle(0,0,80,3);
        gotoxy(20,1);       printf("==>> SEARCH BY FIRST NAME");
        gotoxy(5,5);        rectangle(5,5,60,10);
        gotoxy(7,7);        printf("ENTER FIRST NAME : ");
                            scanf("%s",frstname);
                            system("cls");
        while(fread(&td,sizeof(td),1,fpointer)==1)
        {

            if(strcmp(td.firstname,frstname)==0)
            {
                gotoxy(2,3);         printf("FIRST NAME");
                gotoxy(17,3);        printf("LAST NAME");
                gotoxy(32,3);        printf("ADDRESS");
                gotoxy(47,3);        printf("LANDLINE");
                gotoxy(62,3);        printf("MOBILE");
                gotoxy(1,4);
                for(j=0;j<78;j++)
                {
                    printf("%c",205);
                }
                gotoxy(2,k);
                printf("%s",td.firstname);
                fflush(stdin);
                gotoxy(17,k);
                printf("%s",td.lastname);
                fflush(stdin);
                gotoxy(32,k);
                printf("%s",td.address);
                fflush(stdin);
                gotoxy(47,k);
                printf("%s",td.landline);
                fflush(stdin);
                gotoxy(62,k);
                printf("%s",td.mobile);
                fflush(stdin);
                printf("\n ");
                for(j=0;j<78;j++)
                {
                    printf("%c",196);
                }
                k=k+2;
                fr++;
            }

        }
        if(fr==0)
        {
            rectangle(10,10,60,17);
            gotoxy(20,13);       printf("\aRECORD NOT FOUND....");
        }
        gotoxy(19,k+12);         printf("TOTAL SEARCH RESULT BY FIRST NAME IS %d",fr);
        gotoxy(24,k+14);         printf("PRESS ANY KEY ....");getch();
    }
    if(srch==2)
    {
        system("cls");      SetColorAndBackground(12,16);
        rectangle(0,0,80,3);
        gotoxy(20,1);       printf("==>> SEARCH BY LAST NAME");
        gotoxy(5,5);        rectangle(5,5,60,10);
        gotoxy(7,7);        printf("ENTER LAST NAME : ");
                            scanf("%s",lstname);
                            system("cls");
        while(fread(&td,sizeof(td),1,fpointer)==1)
        {

            if(strcmp(td.lastname,lstname)==0)
            {
                gotoxy(2,3);         printf("FIRST NAME");
                gotoxy(17,3);        printf("LAST NAME");
                gotoxy(32,3);        printf("ADDRESS");
                gotoxy(47,3);        printf("LANDLINE");
                gotoxy(62,3);        printf("MOBILE");
                gotoxy(1,4);
                for(j=0;j<78;j++)
                {
                    printf("%c",205);
                }
                gotoxy(2,k);
                printf("%s",td.firstname);
                fflush(stdin);
                gotoxy(17,k);
                printf("%s",td.lastname);
                fflush(stdin);
                gotoxy(32,k);
                printf("%s",td.address);
                fflush(stdin);
                gotoxy(47,k);
                printf("%s",td.landline);
                fflush(stdin);
                gotoxy(62,k);
                printf("%s",td.mobile);
                fflush(stdin);
                printf("\n ");
                for(j=0;j<78;j++)
                {
                    printf("%c",196);
                }
                k=k+2;
                lr++;
            }

        }
        if(lr==0)
        {
            rectangle(10,10,60,17);
            gotoxy(20,13);       printf("\aRECORD NOT FOUND....");
        }
        gotoxy(19,k+12);         printf("TOTAL SEARCH RESULT BY LAST NAME IS %d",lr);
        gotoxy(24,k+14);         printf("PRESS ANY KEY ....");getch();
    }
    if(srch==3)
    {
        system("cls");      SetColorAndBackground(13,16);
        rectangle(0,0,80,3);
        gotoxy(20,1);       printf("==>> SEARCH BY ADDRESS");
        gotoxy(5,5);        rectangle(5,5,60,10);
        gotoxy(7,7);        printf("ENTER ADDRESS : ");
                            scanf("%s",adrs);
                            system("cls");
        while(fread(&td,sizeof(td),1,fpointer)==1)
        {

            if(strcmp(td.address,adrs)==0)
            {
                gotoxy(2,3);         printf("FIRST NAME");
                gotoxy(17,3);        printf("LAST NAME");
                gotoxy(32,3);        printf("ADDRESS");
                gotoxy(47,3);        printf("LANDLINE");
                gotoxy(62,3);        printf("MOBILE");
                gotoxy(1,4);
                for(j=0;j<78;j++)
                {
                    printf("%c",205);
                }
                gotoxy(2,k);
                printf("%s",td.firstname);
                fflush(stdin);
                gotoxy(17,k);
                printf("%s",td.lastname);
                fflush(stdin);
                gotoxy(32,k);
                printf("%s",td.address);
                fflush(stdin);
                gotoxy(47,k);
                printf("%s",td.landline);
                fflush(stdin);
                gotoxy(62,k);
                printf("%s",td.mobile);
                fflush(stdin);
                printf("\n ");
                for(j=0;j<78;j++)
                {
                    printf("%c",196);
                }
                k=k+2;
                ar++;
            }
        }
        if(ar==0)
        {
            rectangle(10,10,60,17);
            gotoxy(20,13);       printf("\aRECORD NOT FOUND....");
        }
        gotoxy(19,k+12);         printf("TOTAL SEARCH RESULT BY ADDRESS IS %d",ar);
        gotoxy(24,k+14);         printf("PRESS ANY KEY ....");getch();
    }
    if(srch==4)
    {
        system("cls");      SetColorAndBackground(14,16);
        rectangle(0,0,80,3);
        gotoxy(20,1);       printf("==>> SEARCH BY LANDLINE");
        gotoxy(5,5);        rectangle(5,5,60,10);
        gotoxy(7,7);        printf("ENTER LANDLINE NUMBER : ");
                            scanf("%s",line);
                            system("cls");
        while(fread(&td,sizeof(td),1,fpointer)==1)
        {
            if(strcmp(td.landline,line)==0)
            {
                gotoxy(2,3);         printf("FIRST NAME");
                gotoxy(17,3);        printf("LAST NAME");
                gotoxy(32,3);        printf("ADDRESS");
                gotoxy(47,3);        printf("LANDLINE");
                gotoxy(62,3);        printf("MOBILE");
                gotoxy(1,4);
                for(j=0;j<78;j++)
                {
                    printf("%c",205);
                }
                gotoxy(2,k);
                printf("%s",td.firstname);
                fflush(stdin);
                gotoxy(17,k);
                printf("%s",td.lastname);
                fflush(stdin);
                gotoxy(32,k);
                printf("%s",td.address);
                fflush(stdin);
                gotoxy(47,k);
                printf("%s",td.landline);
                fflush(stdin);
                gotoxy(62,k);
                printf("%s",td.mobile);
                fflush(stdin);
                printf("\n ");
                for(j=0;j<78;j++)
                {
                    printf("%c",196);
                }
                k=k+2;
                liner++;
            }
        }
        if(liner==0)
        {
            rectangle(10,10,60,17);
            gotoxy(20,13);       printf("\aRECORD NOT FOUND....");
        }
        gotoxy(19,k+12);             printf("TOTAL SEARCH RESULT BY LANDLINE IS %d",liner);
        gotoxy(24,k+14);             printf("PRESS ANY KEY ....");getch();

    }
    if(srch==5)
    {
        system("cls");      SetColorAndBackground(9,16);
        rectangle(0,0,80,3);
        gotoxy(20,1);       printf("==>> SEARCH BY MOBILE NUMBER");
        gotoxy(5,5);        rectangle(5,5,60,10);
        gotoxy(7,7);        printf("ENTER MOBILE NUMBER : ");
                            scanf("%s",mo);
                            system("cls");
        while(fread(&td,sizeof(td),1,fpointer)==1)
        {

            if(strcmp(td.mobile,mo)==0)
            {
                gotoxy(2,3);         printf("FIRST NAME");
                gotoxy(17,3);        printf("LAST NAME");
                gotoxy(32,3);        printf("ADDRESS");
                gotoxy(47,3);        printf("LANDLINE");
                gotoxy(62,3);        printf("MOBILE");
                gotoxy(1,4);
                for(j=0;j<78;j++)
                {
                    printf("%c",205);
                }
                gotoxy(2,k);
                printf("%s",td.firstname);
                fflush(stdin);
                gotoxy(17,k);
                printf("%s",td.lastname);
                fflush(stdin);
                gotoxy(32,k);
                printf("%s",td.address);
                fflush(stdin);
                gotoxy(47,k);
                printf("%s",td.landline);
                fflush(stdin);
                gotoxy(62,k);
                printf("%s",td.mobile);
                fflush(stdin);
                printf("\n ");
                for(j=0;j<78;j++)
                {
                    printf("%c",196);
                }
                k=k+2;
                mr++;
            }

        }
        if(mr==0)
        {
            rectangle(10,10,60,17);
            gotoxy(20,13);       printf("\aRECORD NOT FOUND....");
        }
        gotoxy(19,k+12);         printf("TOTAL SEARCH RESULT BY MOBILE NUMBER IS %d",mr);
        gotoxy(24,k+14);         printf("PRESS ANY KEY ....");  getch();
    }
    fclose(fpointer);
}
void modify()
{
    FILE *fpointer,*temp;   char mo[15],line[15]; int msrch,chk=0,i;
    system("cls");
    rectangle(0,0,80,24);
    animation("MODIFICATION MENU",32,2);
    gotoxy(57,1);         printf("%c %s %s",16,s.firstname,s.lastname);
    gotoxy(30,3);         for(i=0;i<21;i++)
                          printf("%c",196);
    gotoxy(20,5);         printf("1   TO MODIFY RECORDS BY  MOBILE     NUMBER");
    gotoxy(20,7);         printf("2   TO MODIFY RECORDS BY  LANDLINE   NUMBER");
    gotoxy(20,9);         printf("%c   OR PRESS OTHER NUM KEY FOLLOWED BY ENTER",16);
    gotoxy(17,10);
    for(i=0;i<50;i++)
    {
        printf("%c",196);
    }
    gotoxy(17,12);
    printf("HOW DO YOU WANT TO PREFORM MODIFICATION ? : ");
    scanf("%d",&msrch);
    system("cls");
    fpointer = fopen(em,"rb");
    temp=fopen("temp","ab+");
    if(fpointer==NULL)
    {
        printf("ERRROR IN OPENING FILE......\a\a");
    }
    if(temp==NULL)
    {
        printf("ERROR IN OPENING FILE.......\a");
    }
    switch(msrch)
    {
        case 1:
        {
            rectangle(0,0,80,3);
            gotoxy(20,1);       printf("==>> MODIFICATION BY MOBILE NUMBER");
            gotoxy(5,5);        rectangle(5,5,60,10);
            gotoxy(7,7);        printf("ENTER MOBILE NUMBER : ");
                                readnum(mo);//to accept (number,*,#,+,-) as input
            system("cls");
            while(fread(&td,sizeof(td),1,fpointer)==1)
            {
                if(strcmp(td.mobile,mo)==0)
                {
                    chk=1;  SetColorAndBackground(12,16);
                    system("cls");
                    rectangle(0,0,80,3);
                    gotoxy(20,1);       printf("MODIFICATION OF MOBILE NUMBER %s",mo);
                    rectangle(5,5,70,21);
                    gotoxy(9,8);    fflush(stdin);
                    printf("FIRSTNAME : ");
                    scanf("%s",&td.firstname);
                    fflush(stdin);
                    gotoxy(9,10);
                    printf("LASTNAME : ");
                    gets(td.lastname);
                    fflush(stdin);
                    gotoxy(9,12);
                    printf("ADDRESS : ");
                    gets(td.address);
                    fflush(stdin);
                    gotoxy(9,14);
                    printf("LANDLINE : ");
                    readnum(td.landline);
                    fflush(stdin);
                    gotoxy(9,16);
                    printf("MOBILE : ");
                    readnum(td.mobile);
                    fflush(stdin);
                    fwrite(&td,sizeof(td),1,temp);
                }
                else
                {
                    fwrite(&td,sizeof(td),1,temp);
                }
            }
            fclose(fpointer);
            fclose(temp);
            remove(em);
            rename("temp",em);
            if(chk!=0)
            {
                system("cls");
                rectangle(10,10,60,20);
                gotoxy(12,12);      wait();
                gotoxy(15,15);      printf("\aRECORD SUCCESSFULLY MODIFIED.....");
                gotoxy(17,17);      printf("PRESS ANY KEY...");
            }
            if(chk==0)
            {
                system("cls");
                rectangle(10,10,60,20);
                gotoxy(12,12);      wait();
                gotoxy(15,15);      printf("\aRECORD NOT FOUND....");
                gotoxy(17,17);      printf("PRESS ANY KEY...");
            }
            break;
        }
        case 2:
        {
            rectangle(0,0,80,3);
            gotoxy(20,1);       printf("==>> MODIFICATION BY LANDLINE NUMBER");
            gotoxy(5,5);        rectangle(5,5,60,10);
            gotoxy(7,7);        printf("ENTER LANDLINE NUMBER : ");
                                readnum(line);//scanf("%s",line);
            system("cls");
            while(fread(&td,sizeof(td),1,fpointer)==1)
            {
                if(strcmp(td.landline,line)==0)
                {
                    chk=1;      SetColorAndBackground(13,16);
                    system("cls");
                    rectangle(0,0,80,3);
                    gotoxy(20,1);       printf("MODIFICATION OF LANDLINE NUMBER %s",line);
                    rectangle(5,5,70,21);
                    gotoxy(9,8);
                    printf("FIRSTNAME : ");
                    scanf("%s",&td.firstname);
                    fflush(stdin);
                    gotoxy(9,10);
                    printf("LASTNAME : ");
                    gets(td.lastname);
                    fflush(stdin);
                    gotoxy(9,12);
                    printf("ADDRESS : ");
                    gets(td.address);
                    fflush(stdin);
                    gotoxy(9,14);
                    printf("LANDLINE : ");
                    readnum(td.landline);
                    fflush(stdin);
                    gotoxy(9,16);
                    printf("MOBILE : ");
                    readnum(td.mobile);
                    fflush(stdin);
                    fwrite(&td,sizeof(td),1,temp);
                }
                else
                {
                    fwrite(&td,sizeof(td),1,temp);
                }
            }
            fclose(fpointer);
            fclose(temp);
            remove(em);
            rename("temp",em);
            if(chk!=0)
            {
                system("cls");
                rectangle(10,10,60,20);
                gotoxy(12,12);      wait();
                gotoxy(15,15);      printf("\aRECORD SUCCESSFULLY MODIFIED.....");
                gotoxy(17,17);      printf("PRESS ANY KEY...");
            }
            if(chk==0)
            {
                system("cls");
                rectangle(10,10,60,20);
                gotoxy(12,12);      wait();
                gotoxy(15,15);      printf("\aRECORD NOT FOUND....");
                gotoxy(17,17);      printf("PRESS ANY KEY...");
            }
            break;
        }
        default:
        {
            system("cls");
            main();
            break;
        }
    }
    getch();
}
void del()
{
    FILE *fpointer,*temp;       char fname[50],mo[15],ch;int dsrch,i,check=0;
    system("cls");          SetColorAndBackground(9,16);
    rectangle(0,0,80,24);
    animation("DELETE MENU",32,2);
    gotoxy(57,1);         printf("%c %s %s",16,s.firstname,s.lastname);
    gotoxy(30,3);         for(i=0;i<15;i++)
                          printf("%c",196);
    gotoxy(20,5);         printf("1   TO DELETE SELECTIVE RECORDS");
    gotoxy(20,7);         printf("2   TO DELETE     ALL   RECORDS");
    gotoxy(20,9);         printf("%c   OR PRESS OTHER NUM KEY FOLLOWED BY ENTER",4);
    gotoxy(17,10);
    for(i=0;i<50;i++)
    {
        printf("%c",196);
    }
    gotoxy(17,12);
    printf("HOW DO YOU WANT TO PREFORM DELETION ? : ");
    scanf("%d",&dsrch);
    system("cls");
    if(dsrch==1)
    {
        fpointer = fopen(em,"rb");
        temp=fopen("temp","ab+");
        if(fpointer==NULL)
        {
            printf("ERRROR IN OPENING FILE......\a\a");
        }
        if(temp==NULL)
        {
            printf("ERROR IN OPENING FILE.......\a");
        }
        SetColorAndBackground(11,16);
        rectangle(0,0,80,3);
        gotoxy(20,1);       printf("==>> SELECTIVE DELETION");
        gotoxy(5,5);        rectangle(5,5,60,15);
        gotoxy(7,7);        printf("ENTER FIRST NAME : ");
                            scanf("%s",fname);
        gotoxy(7,10);       printf("ENTER MOBILE NUMBER : ");
                            readnum(mo);
        system("cls");
        while(fread(&td,sizeof(td),1,fpointer)==1)
        {
            if((strcmp(td.firstname,fname)==0) && (strcmp(td.mobile,mo)==0))
            {
                check++;
                continue;
            }
            else
            {
                fwrite(&td,sizeof(td),1,temp);
            }
        }
        fclose(fpointer);
        fclose(temp);
        remove(em);
        rename("temp",em);
        if(check!=0)
        {
            rectangle(10,10,60,20);
            gotoxy(12,12);      wait();
            gotoxy(15,15);      printf("\aRECORD SUCCESSFULLY DELETED.....");
            gotoxy(17,17);      printf("PRESS ANY KEY...");
            getch();
        }
        if(check==0)
        {
            rectangle(10,10,60,20);
            gotoxy(12,12);      wait();
            gotoxy(15,15);      printf("\aRECORD NOT FOUND....");
            gotoxy(17,17);      printf("PRESS ANY KEY...");
            getch();
        }
    }
    if(dsrch==2)
    {
        system("cls");      SetColorAndBackground(12,16);
        rectangle(10,10,65,15);
        gotoxy(12,12);
        printf("ARE YOU SURE YOU WANT TO CLEAR ALL RECORDS ? ");
        if(getche()=='y' || getche()=='Y')
        {
            getch();
            system("cls");
            fpointer = fopen(em,"rb");
            temp=fopen(em,"ab+");
            if(fpointer==NULL)
            {
                printf("ERRROR IN OPENING FILE......\a\a");
            }
            if(temp==NULL)
            {
                printf("ERROR IN OPENING FILE.......\a");
            }
            fclose(fpointer);
            fclose(temp);
            remove(em);
            rename("temp",em);
            rectangle(10,10,60,20);
            gotoxy(12,12);      wait();
            gotoxy(15,15);      printf("\aRECORD SUCCESSFULLY DELETED.....");
            gotoxy(17,17);      printf("PRESS ANY KEY...");
            getch();
        }
    }
    else
    {
        main();
    }
}
void end()
{
    system("cls");
    SetColorAndBackground(12,16);
    rectangle(12,7,60,15);
    gotoxy(14,9);        printf("PRESS SPACE BAR TO RETURN TO PROGRAM");
    gotoxy(15,12);       printf("OR ANY OTHER KEY TO END.....");
    gotoxy(17,17);
                        if(getch()==32)
                        main();
                        else
                        exit(0);
}
void main()
{
    int mchoice;char x;
    if(f==0)
    {
        frontscreen();
        f++;
        system("cls");
    }
    if(ls==0)
    {

        SetColorAndBackground(13,16);
        rectangle(25,7,60,15);
        gotoxy(28,9);  printf("1   FOR LOG IN");
        gotoxy(28,12); printf("2   FOR SIGN UP");
        gotoxy(25,20);
        x=getche();
        switch(x)
        {
            case '1':
            {
                inlog();
                break;
            }

            case '2':
            {
                upsign();
                break;
            }
        }
        ls++;

    }
    mchoice=menu();
    switch(mchoice)
    {
        case 1:
        {
            add();
            main();
            break;
        }
        case 2:
        {
            list();
            main();
            break;
        }
        case 3:
        {
            modify();
            main();
            break;
        }
        case 4:
        {
            del();
            main();
            break;
        }
        case 5:
        {
            search();
            main();
            break;
        }
        case 6:
        {
            end();
            break;
        }
        default:
        {
            main();
            break;
        }
    }
    getch();
}