fclose(fp); }
//---------------------------------------------------某课程插入排序-------------------------------------------- void sort_insert() {
int count=0;//实际元素个数
int i,j,k,c;
STU student[N],stu[N]; FILE *fp;
printf(\输入要读取的文件夹名:\\n\gets(filename); {
char se_major[15];//专业
STU stu_class_subject[N];//按某门课程成绩排序后的某个专业的学生信息 char filename[20];
if((fp=fopen(filename,\ printf(\ return;
}
for(i=0;i if((fread(&student[i],sizeof(STU),1,fp))!=1) return; printf(\请输入您要查找的专业(computer,software,network):\ gets(se_major); printf(\请输入您要查找的课程(0-2):\ scanf(\ for(i=0;i { if(strcmp(student[i].major,se_major)==0)//计数 } { for(j=i-1;j>=0;j--) { if(stu_class_subject[j].score[c] stu_class_subject[count]=student[i]; { count++; for(i=1;i } break; } if(j!=i-1) { stu[0]=stu_class_subject[i]; for(k=i;k>=j+1;k--) } {stu_class_subject[k]=stu_class_subject[k-1];} stu_class_subject[j+1]=stu[0];//插入位置 printf(\排序后的信息为:\\n\ printf(\学号 姓名 专业 班级 成绩0 成绩1 成绩2\\n\ for(i=0;i {output(&stu_class_subject[i]);}//由低到高输出 fclose(fp); } //-----------------------------------------------------------查找--------------------------------------------------- void search() { int i,k,count=0; int sum[N],fscore; FILE *fp; STU student[N],stu[N]; printf(\输入要读取的文件夹名:\\n\gets(filename); { char filename[20]; if((fp=fopen(filename,\ printf(\ exit(0); } for(i=0;i if((fread(&student[i],sizeof(STU),1,fp))!=1) exit(0); for(i=0;i {sum[i]=student[i].score[0]+student[i].score[1]+student[i].score[2];}//计算总分 printf(\请输入要查找的班级、分数下限:\ scanf(\ for(i=0;i } printf(\学号 姓名 专业 班级 成绩0 成绩1 成绩 for(i=0;i if(student[i].classNo==k&&fscore<=sum[i])//计数 {stu[count]=student[i]; count++;} 2\\n\ fclose(fp); 五、程序测试(输入、输出的截图及文件的内容) 六、实验总结(实验过程中遇到的具体问题,如何解决,不要说空话、套话,雷同扣分)