📄 sortnumb.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 + -