typedef struct //结构体 { char xh[13]; char name[20]; char xb[4]; char year[4]; char bz[10000]; }Student; void stdudent_cx() { FILE *fp; int n,flag=0; char target[20],s[3]={0}; Student Stu; int i,dot=0; fp=fopen("student.txt","a+"); if(fp==NULL) { printf("无法打开文件\n"); } while(dot==0) { printf(" ***请输入查询方式***"); printf(" ***0.退出***\n"); printf(" ***1.按学号***\n"); printf(" ***2.按姓名***\n"); printf(" ***3.按性别***\n"); printf(" ***4.按年龄***\n"); scanf("%d",&n); while(n!=0) { if(n==1) { printf("退出按0\n");printf("请输入学号\n"); gets(target); } else if(n==2) { printf("退出按0\n");printf("请输入姓名\n"); gets(target); } else if(n==3) { printf("退出按0\n");printf("请输入性别\n"); gets(target); } else if(n==4) { printf("退出按0\n");printf("请输入年龄\n"); gets(target); } gets(target); if(strcmp(target,s)!=0) { while(!feof(fp)) { fscanf(fp,"%s %s %s %s %s",Stu.xh,Stu.name,Stu.xb,Stu.year,Stu.bz); if(strcmp(target,Stu.xh)==0||strcmp(target,Stu.name)==0||strcmp(target,Stu.year)==0||strcmp(target,Stu.xb)==0) { printf("%s %s %s %s %s\n",Stu.xh,Stu.name,Stu.xb,Stu.year,Stu.bz); flag=1; } } } else { dot=1;flag=1;n=0; } if(flag==0) { printf("no find\n"); } n=0; } if(n==0) { dot=1; } } } void stdudent_sc() { FILE *fp; int dot=1; char target[20]; Student Stu; fp=fopen("student.txt","a+"); while(dot==1) { printf("输入学号,退出按确定"); scanf("%s",target); FILE *out;out=fopen("back.txt","w"); /*out是充当临时文件作用*/ while(!feof(fp)) { if(strcmp(target,Stu.xh)!=0) { fprintf(out,"%s %s %s %s %s",Stu.xh,Stu.name,Stu.xb,Stu.year,Stu.bz); fprintf(out,"\n"); } fscanf(fp,"%s %s %s %s %s",Stu.xh,Stu.name,Stu.xb,Stu.year,Stu.bz); } fclose(out); dot=0; fclose(fp); } }