⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sortnumb.c

📁 设计一个学生成绩管理系统
💻 C
字号:
#include"jinhe.h"
void sort_with_number()
{ FILE *fp;
  int i,j,k,flag=0;
  extern char filename[15];
  struct student stu[M],temp;
  if((fp=fopen(filename,"rb"))==NULL)
  { clrscr();
    gotoxy(15,15);
    printf("Cannot open file. Press any key return.");
    getch();
    return;
  }
  while(flag!=1)
  { for(i=0;;i++)
     { fread(&stu[i],LEN,1,fp);
       if(stu[i].no==0) { flag=1;break;}
       k=i;
       for(j=i+1;;j++)
       { fread(&stu[j],LEN,1,fp);
	 if(stu[j].no==0) break;
	 if(stu[j].no<stu[k].no) k=j;
	 temp.no=stu[i].no;
	 stu[i].no=stu[k].no;
	 stu[k].no=temp.no;
	 strcpy(temp.name,stu[i].name);
	 strcpy(stu[i].name,stu[k].name);
	 strcpy(stu[k].name,temp.name);
	 strcpy(temp.sex,stu[i].sex);
	 strcpy(stu[i].sex,stu[k].sex);
	 strcpy(stu[k].sex,temp.sex);
	 temp.english=stu[i].english;
	 stu[i].english=stu[k].english;
	 stu[k].english=temp.english;
	 temp.computer=stu[i].computer;
	 stu[i].computer=stu[k].computer;
	 stu[k].computer=temp.computer;
	 temp.maths=stu[i].maths;
	 stu[i].maths=stu[k].maths;
	 stu[k].maths=temp.maths;
	 temp.c_programe=stu[i].c_programe;
	 stu[i].c_programe=stu[k].c_programe;
	 stu[k].c_programe=temp.c_programe;
	 temp.average=stu[i].average;
	 stu[i].average=stu[k].average;
	 stu[k].average=temp.average;
       }
     }
  }
  fclose(fp);
 if((fp=fopen(filename,"wb"))==NULL)
  { gotoxy(15,15);
    printf("Cannot open file. Press any key return.");
    getch();
    clrscr();
    return;
  }
 for(i=0;;i++)
   { if(fwrite(&stu[i],LEN,1,fp)!=1)
     { clrscr();
       gotoxy(15,15);
       printf("file write error.Press any key return.");
       getch();
       return;
     }
     if(stu[i].no==0) break;
   }
  fclose(fp);
  clrscr();
  gotoxy(5,15);
  printf("Sort success! Press any key to watch the list! ");
  getch();
  list_all();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -