高分求助,C语言中关于结构体数组中,学生信息的删除

来源:百度知道 编辑:UC知道 时间:2024/05/24 00:41:48
struct student
{ char num[10];
char name[10];
float chinese;
float english;
float math;
float avp;
}stu1[SIZE],stu2,stu3,stu4;

FILE *fp;
void save()
{

fp=fopen("student information","w");
if(fp==NULL)
{
printf("File Open Error");
exit(0);
}
printf("请依次输入学号,姓名,语文,外语,数学成绩:\n");

int i;
for(i=0;i<SIZE;i++)
{
scanf("%s%s%f%f%f",stu1[i].num,stu1[i].name,&stu1[i].chinese,&stu1[i].english,&stu1[i].math);
stu1[i].avp=(stu1[i].chinese+stu1[i].english+stu1[i].math)/3;
fwrite(&stu1[i],sizeof(student),1,fp);
printf("----------------------------------\n");
}
fclose(fp);
}
void main()
{
int n;
while(n!=6)
{
printf("欢迎来到学生成绩管理系统界面\n");
printf(" \n");
printf("请输入数字,按回

void del(void)
{
FILE *fp;
char a[10];
char ch;
int i,j,k;
system("cls");
printf("请输入要删除的学生姓名:");
scanf("%s",a);
system("cls");
fp=fopen("F:\\x.txt","r");
for(i=0;i<count;i++)//找到删除人所在的位置
{
fscanf(fp,"%s %d %d %d %d\n",s[i].name,&s[i].no,&s[i].score1,&s[i].score2,&s[i].score3);
if(!strcmp(s[i].name ,a))
{
printf("\t\t姓名 %s 学号 %d 成绩1 %d 成绩2 %d 成绩3 %d\n",s[i].name ,s[i].no ,s[i].score1 ,s[i].score2 ,s[i].score3 );
printf(" \t\t\t该同学的信息已成功删除!\n");
printf("\n");
break;
}
}
fclose(fp);
if(i==count)
{
printf("\t\t很抱歉,没有您所要查找的同学记录!\n");
printf("\n");
}
else
{
for(j=i;j<count-1;j++)
{
for(k=0