(F1+mid*sizeof(WORKERBASIC))->age,(F1+mid*sizeof(WORKERBASIC))->name); printf(\ } PrintPause(); return 0; }
int EditByage(WORKERBASIC *F1,int n) /*°´ÄêÁä²éÕÒ*/ { int a,flag=0,i; printf(\ printf(\ for(i=0;i
}
int Edit() /*²éÕÒ*/ { WORKERBASIC load,*F1; int n=0,key=0,i; FILE *fp=NULL; cleanscreen(); if ((fp=fopen(\ { printf(\ PrintPause(); return 0; } while(!feof(fp)) /*ͳ¼ÆÖ°¹¤µÄÊýÁ¿*/ { if (fread(&load,sizeof(WORKERBASIC),1,fp)==1) n++; } fclose(fp); if (n==0) { printf(\ PrintPause(); return 0; } F1=(WORKERBASIC *)malloc(n*sizeof(WORKERBASIC)); /*°´Ö°¹¤µÄÈËÊýÉêÇëÄÚ´æ¿Õ¼ä*/ fp=fopen(\ for(i=0;i printf(\ printf(\ printf(\ printf(\ printf(\ or Esc?\\n\ key=getch(); switch(key) { case '1': key=EditByNo(F1,n); break; case '2': key=EditByName(F1,n); break; case '3': key=EditByage(F1,n); break; } } free(F1); return 0; } int Modify() { WORKER *head=NULL,*t=NULL,*load=NULL; FILE *fp=NULL; char str[20]; int num; cleanscreen(); load=(WORKER *)malloc(sizeof(WORKER)); if((fp=fopen(\ { printf(\ PrintPause(); return 0; } head=t=load; if (fread(load,sizeof(WORKERBASIC),1,fp)!=1) { printf(\ PrintPause(); return 0; } while(!feof(fp)) /*ÐÞ¸Ä*/ { load=(WORKER *)malloc(sizeof(WORKER)); t->next=load; if (fread(load,sizeof(WORKERBASIC),1,fp)!=1) break; t=load; } t->next=NULL;/*´´½¨Á´±íÍê³É*/ fclose(fp); t=head; Scan(); printf(\ printf(\ scanf(\ getchar(); num=atoi(str); /*°Ñ×Ö·û´®×ª»»Îª³¤ÕûÐÍÊý*/ if ((strcmp(t->workerinfo.name,str)==0)||(num==t->workerinfo.No)||(num==t->workerinfo.age)) { printf(\ scanf(\ getchar(); printf(\ scanf(\ getchar(); printf(\ scanf(\ getchar(); printf(\ fp=fopen(\ t=head; if (head!=NULL) { fwrite(t,sizeof(WORKERBASIC),1,fp); while(t->next!=NULL) { t=t->next; if(fwrite(t,sizeof(WORKERBASIC),1,fp)!=1) { printf(\ PrintPause(); break; } } free(head); fclose(fp); } PrintPause(); return 0; } /*´æÈëÎļþ(Ä¿±êÔÚÊ×µØÖ·£©*/ while(t->next!=NULL) { t=t->next; if ((strcmp(t->workerinfo.name,str)==0)||(num==t->workerinfo.No)||(num==t->workerinfo.age)) { printf(\ scanf(\ getchar(); printf(\ scanf(\ getchar(); printf(\ scanf(\ getchar(); printf(\ fp=fopen(\ t=head; if (head!=NULL) { fwrite(t,sizeof(WORKERBASIC),1,fp); while(t->next!=NULL) { t=t->next; if(fwrite(t,sizeof(WORKERBASIC),1,fp)!=1) { printf(\ PrintPause(); break; } }/*´æÈëÎļþ£¨µ±²»ÔÚÊ×µØÖ·µÄʱºò£©*/ free(head); fclose(fp); } }