projectstu.h of student management system header file

 #include<dos.h>


void displayTime(){

 struct time curtime;

 gettime(&curtime);

 printf("\t\t%02d:%02d:%02d",curtime.ti_hour,curtime.ti_min,curtime.ti_sec);

}

void displayDate(){

  struct date today;

  getdate(&today);

  printf("\n%02d/%02d/%04d",today.da_day,today.da_mon,today.da_year);

}

int countStudent()

{

FILE *fp;

int n,last;

fp=fopen("student.dat","rb");//open file in binary mode

    fseek(fp,0,SEEK_END);

    last=ftell(fp);

    n=last/sizeof(struct student);

fclose(fp);

return n;

}

void listStudent()

{

FILE *fp;

int n,i;

struct student x;

    fp=fopen("student.dat","rb");//open file in binary mode

n=countStudent();

    for(i=0;i<=n-1;i++)

    {

     fread(&x,sizeof(x),1,fp);

     printStudent(x);

    }

    fclose(fp);

}

struct student searchStudent(char *scno)

{

FILE *fp;

int n,i;

struct student x,y={"","",0,0,{0,0,0}};

fp=fopen("student.dat","rb");

n=countStudent();

for(i=0;i<=n-1;i++)

{

fread(&x,sizeof(x),1,fp);

if(strcmpi(x.scno,scno)==0){fclose(fp);return x;}

}

fclose(fp);

return y;

}

int insertStudent(struct student x)

{

FILE *fp;

fp=fopen("student.dat","ab");

fseek(fp,0,SEEK_END);

if(fwrite(&x,sizeof(x),1,fp))

{

fclose(fp);

return 1;

}

else{

fclose(fp);

return 0;

}

}

void updateFileStudent(char *scno)

{

FILE *fp,*ft;

    int i,n,last;

struct student x;

    int flag=0;

    fp=fopen("student.dat","rb");//open file in binary mode

    ft=fopen("studtemp.dat","wb");//open a temp file

    n=countStudent();

    printf("\nTotal Students in file = %d\n",n);

    fseek(fp,0,SEEK_SET);

    for(i=0;i<=n-1;i++)

    {

     fread(&x,sizeof(x),1,fp);

     if(strcmpi(scno,x.scno)!=0)

       {

//printStudent(x);

fwrite(&x,sizeof(x),1,ft);

       }

     else{

       x=updateStudent(x);

       //printStudent(x);

       fwrite(&x,sizeof(x),1,ft);

       flag=1;//updated

}

    }

    flag==0 && printf("\n scno %s not found",scno);

    fclose(fp);

    fclose(ft);

    remove("student.dat");

    rename("studtemp.dat","student.dat");

}

void deleteFileStudent(char *scno)

{

FILE *fp,*ft;

    int i,n,last;

    struct student x;

    int flag=0;

    fp=fopen("student.dat","rb");//open file in binary mode

    ft=fopen("studtemp.dat","wb");//open a temp file

    n=countStudent();

    printf("\nTotal Students in file = %d\n",n);

    fseek(fp,0,SEEK_SET);

    for(i=0;i<=n-1;i++)

    {

     fread(&x,sizeof(x),1,fp);

     if(strcmpi(scno,x.scno)!=0)

       {

//printStudent(x);

fwrite(&x,sizeof(x),1,ft);

       }

     else{

       flag=1;//deleted

     }

    }

    flag==0 && printf("\n scno %s not found",scno);

    fclose(fp);

    fclose(ft);

remove("student.dat");

    rename("studtemp.dat","student.dat");

}


Comments

Popular posts from this blog

250+ C Programs for Practice

FUNCTION OVERRIDING IN CPP