&StuInfo[i].CInfo.Cno,&StuInfo[i].CInfo.Cname);
}
fclose(fp); num=i;
for(i=0;i count++; mAge+=StuInfo[i].Age; } } if(count>0) { mAge/=count; } return mAge; } 5.7.2 统计女生信息子模块 void Female() { int num; float mg; num=FemaleNum(); mg=FemaleMG(); printf(\女生总人数为:%d\\n平均年龄为:%f\\n\} 5.7.2.1 返回女生人数子函数 int FemaleNum() { int num; int count=0; int i; FILE*fp; if((fp=fopen(\ { printf(\文件打不开!\\n\ menu(); } for(i=0;!feof(fp);i++) { - 21 - fscanf(fp,\StuInfo[i].CInfo.Cno,&StuInfo[i].CInfo.Cname); } fclose(fp); num=i; for(i=0;i count++; } } return count; } 5.7.2.2返回女生平均年龄 float FemaleMG() { int num; int count=0; int found; float mAge=0; int i; FILE*fp; if((fp=fopen(\ { printf(\文件打不开!\\n\ menu(); } for(i=0;!feof(fp);i++) { fscanf(fp,\StuInfo[i].CInfo.Cno,&StuInfo[i].CInfo.Cname); } fclose(fp); num=i; for(i=0;i { found=i; count++; mAge+=StuInfo[i].Age; - 22 - } } if(count>0) { mAge/=count; } return mAge; } 5.7.3 全体学生统计信息子模块 void StuMsg() { int num; float mg; num=StuNum(); mg=MG(); printf(\学生总人数为:%d\\n学生平均年龄为:%f\\n\ Male(); Female(); } 5.7.3.1 返回全体学生的人数子函数 int StuNum() { int num; num=MaleNum()+FemaleNum(); return num; } 5.7.3.2 返回全体学生的平均年龄子函数 float MG() { float mAge; mAge=(MaleNum()*MaleMG()+FemaleNum()*FemaleMG())/(MaleNum()+FemaleNum()); return mAge; } 5.8 删除模块 void Delete() { int num; int i; - 23 - int found=-1; char StuNO[20]; FILE*fpr,*fpw; if((fpr=fopen(\ { printf(\文件打不开!\\n\ menu(); } for(i=0;!feof(fpr);i++) { fscanf(fpr,\ &StuInfo[i].Sname,&StuInfo[i].Sex, &StuInfo[i].Sno,&StuInfo[i].Age, &StuInfo[i].CInfo.Cno, &StuInfo[i].CInfo.Cname); } num=i; fclose(fpr); printf(\请输入学号选择你要删除的记录:\ scanf(\ for(i=0;i { if(strcmp(StuNO,StuInfo[i].Sno)==0) { found=i; printf(\你删除的学生信息为:\\n\\n\ printf(\姓名 性别 学号 年龄 班号 班名\\n\ printf(\Info[found].Age,StuInfo[found].CInfo.Cno,StuInfo[found].CInfo.Cname); if(found { for(found;found { strcpy(StuInfo[found].Sname,StuInfo[found+1].Sname); strcpy(StuInfo[found].Sex,StuInfo[found+1].Sex); strcpy(StuInfo[found].Sno,StuInfo[found+1].Sno); StuInfo[found].Age=StuInfo[found+1].Age; strcpy(StuInfo[found].CInfo.Cno,StuInfo[found+1].CInfo.Cno); strcpy(StuInfo[found].CInfo.Cname,StuInfo[found+1].CInfo.Cname); } } if((fpw=fopen(\ { printf(\文件打不开!\\n\ - 24 - menu(); } for(i=0;i { fprintf(fpw,\o[i].Age,StuInfo[i].CInfo.Cno,StuInfo[i].CInfo.Cname); } fclose(fpw); printf(\修改成功!\\n\ printf(\请按enter键返回主菜单!\\n\ getchar(); getchar(); menu(); } } if(found<0) { printf(\没有找到该学号的记录:\\n\ printf(\请按enter键返回主菜单!\\n\ getchar(); getchar(); menu(); } } - 25 -