自定义的adjust怎么才能对文件中某个的成绩修改并保存
struct aca{
char name[10];//系名字
int num;//编号
int score;//总分
int score1;//男子总分
int score2;//女子总分
float mscore[3];//男子项目成绩
int male[3];//男子项目分数
float fscore[3];//女子项目成绩
int female[3];//女子项目分数
}aca[N];
void save()
{
FILE *fp;
int i;
if((fp=fopen("score.txt","wb"))==NULL)
{
printf("cannot open the file stud!\n");
exit(0);
}
for(i=0;i<N;i++)
{
if((fwrite(&aca[i],sizeof(struct aca),1,fp))!=1)
printf("flie write error!\n");
}
fclose(fp);
}
int main()
{
int i,k,l;
for(i=0;i<N;i++)
{
printf("输入系编号:");
scanf("%d",&aca[i].num);
printf("输入系名字:");
scanf("%s",aca[i].name);
printf("输入男子组分数:\n");
printf("100分数 成绩 200分数 成绩 400分数 成绩 \n");
scanf("%d %f %d %f %d %f",&aca[i].male[0],&aca[i].mscore[0],&aca[i].male[1],&aca[i].mscore[1],&aca[i].male[2],&aca[i].mscore[2]);
aca[i].score1=aca[i].male[0]+aca[i].male[1]+aca[i].male[2];
printf("输入女子组分数:/n");
printf("100分数 成绩 200分数 成绩 400分数 成绩 \n");
scanf("%d %f %d %f %d %f",&aca[i].female[0],&aca[i].fscore[0],&aca[i].female[1],&aca[i].fscore[1],&aca[i].female[2],&aca[i].fscore[2]);
aca[i].score2=aca[i].female[0]+aca[i].female[1]+aca[i].female[2];
aca[i].score=aca[i].score1+aca[i].score2;
}
save();
}
int adjust()
{
FILE *fp;
int i,k,l,j,n;
fp=fopen("score.txt","rb");
for(i=0;i<N;i++)
{
fread(&aca[i],sizeof(struct aca),1,fp);
}
fclose(fp);
printf("输入修改的学院序号:\n");
scanf("%d",&j);
printf("输入修改的项目序号:\n");
scanf("%d",&k);
printf(" 分数,成绩:\n");
scanf("%d %f",&aca[j-1].male,&aca[j-1].mscore);
save();
return 0;
}