You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
2.7 KiB
111 lines
2.7 KiB
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);
|
|
}
|
|
}
|