帮忙看一下怎么错了,输入1之后总是提示“没有此学生”
#include<stdio.h>#include<stdlib.h>
#include<string.h>
struct student
{
char name[20];
float score_math;
float score_eng;
};
int chaxun(char a[10])
{
int i;
struct student st[5];
FILE *fp;
if((fp=fopen("stud.dat","wb"))==NULL)
{
printf("打开文件失败");
exit(0);
}
for(i=0;i<5;i++)
if(strcmp(st[i].name,a)==0)
{
fscanf(fp,"%d,%d",&st[i].score_math,&st[i].score_eng);
printf("该学生成绩为%d,%d",st[i].score_math,st[i].score_eng);
return 1;
}
printf("没有此学生");
fclose(fp);
}
void main()
{
struct student st[5];
char xm[20];
int i,n;
FILE *fp;
if((fp=fopen("stud.dat","wb"))==NULL)
{
printf("打开文件失败");
exit(0);
}
for(i=0;i<5;i++)
{
printf("请输入第%d个姓名",i+1);
fflush(stdin);
gets(st[i].name);
printf("请输入高数,英语成绩:\n");
scanf("%d,%d",&st[i].score_math,&st[i].score_eng);
fwrite(&st[i],sizeof(struct student),1,fp);
}
fclose(fp);
if((fp=fopen("stud.dat","wb"))==NULL)
{
printf("打开文件失败\n");
exit(0);
}
printf("0.结束 1.查询");
printf("请输入选项");
scanf("%d",&n);
while(n!=0)
{
if((fp=fopen("stud.dat","wb"))==NULL)
{
printf("打开文件失败");
exit(0);
}
printf("请输入要查寻的姓名");
getchar();
gets(xm);
chaxun(xm);
getchar();
fclose(fp);
}
}