钢铁雄心4 1.61:大家帮我看个代码 谢谢

来源:百度文库 编辑:神马品牌网 时间:2024/04/30 01:20:58
接着上一个问题
for (r=0;!feof(fp1)&&fread(&stu[r],sizeof(struct student),
1,fp1);r++);
printf("要删除的学号");
scanf("%d",&y);
for (u=0;u<r&&stu[u].no!=y;u++);
if(u>=r)printf("没有学生信息");
fclose(fp1);
n--;
if(r>1)
{
printf("\n删除后的学生情况如下:\n学号 姓名 基础 导论 程序\n");
for (j=u;j<r-1;j++)stu[u]=stu[u+1];
fp1=fopen("wen_shu","w+");
for (u=0;u<r-1;u++)
{
fwrite(&stu[u],sizeof(struct student),1,fp1);
fread(&stu[u],sizeof(struct student),1,fp1);
printf("\n%d %4s %4d %4d %4d",stu[u].no,stu[u].name,
stu[u].ji1,stu[u].ji2,stu[u].ji3);
}
fclose(fp1);
}
else
{printf ("无任何记录");
fclose(fp1);
}
printf("\n\n还要删除吗?y/n");
getchar();
if (getchar()!='y'){clrscr();break; }
clrscr();
}
return 0;
}

/*********************************/
int han_xiu() /*修改的函数*/
{
int z,a,d,s,g,l;
if ((fp1=fopen("wen_shu","r"))==NULL)printf("不能打开");
if(!feof(fp1))
{
rewind(fp1);
printf("输入要修改的学生学号");
scanf("%d",&s);
for (z=0;fread(&stu[z],sizeof(struct student),
1,fp1);z++)
if(s==stu[z].no){a=z;break;}
if (z==SU)
printf("\n没有学生信息\n");
for (1;z<SU;z++)
fread(&stu[z],sizeof(struct student),1,fp1);
fclose(fp1);
printf("\t 学号 姓名 基础 导论 程序\n");
printf("请输入:");
scanf("%d%s%d%d%d",&stu[a].no,stu[a].name,&stu[a].ji1,
&stu[a].ji2,&stu[a].ji3);
fp1=fopen("wen_shu","w+");
printf("\n\n修改后的学生情况如下:\n学号 姓名 基础 导论 程序\n");
for (g=0;g<n;g++)
fwrite(&stu[g],sizeof(struct student),1,fp1);
rewind(fp1);
for(l=0;l<n;l++)
{ fread(&stu[g],sizeof(struct student),1,fp1);
printf("\n%d %4s %4d %4d %4d",stu[g].no,stu[g].name,
stu[g].ji1,stu[g].ji2,stu[g].ji3);
}
}
else
{ printf ("无任何记录");
fclose(fp1);
}
printf("\n\n退回菜单请输入回车键");
getchar();
if (getchar()!=EOF); clrscr();
return 0;
}
/*********************************/
int han_tong() /*统计的函数*/
{
int k;
printf("\n学生情况如下:\n学号 姓名 基础 导论 程序 总成绩\n");
if ((fp1=fopen("wen_shu","r"))==NULL) /*打开f1所指文件*/
printf("打开错误");
for(k=0;k<n;++k)
{ fread(&stu[k],sizeof(struct student),1,fp1);
printf("%d %4s %4d %4d %4d %4d\n",stu[k].no,stu[k].name,
stu[k].ji1,stu[k].ji2,stu[k].ji3, stu[k].sum);
}
fclose(fp1); /*关闭f1所指文件*/
printf("\n\n退回菜单请输入回车键");
getchar();
if (getchar()!=EOF); clrscr();
return 0;
}
由于提问字数有限 分了2次提问 第一次提问的题目也是“大家帮我看个代码 谢谢” 请大家见谅!