主程序:
#include <stdio.h>
#include <stdlib.h>
#include "student.h"
int n=0;
int savedtag=0;
int main()
{
int com;
sayhello();
while(1)
{
menu();
fflush(stdin);
if(scanf("%d",&com)!=1)
{
printf("输入的是未知内容呢,请试试输入提示信息吧!\n");
fflush(stdin);
continue;
}
if(com==0)
{
if(savedtag)
{
printf("信息被修改了,请问是否保存修改至文件呢?0不保存,1保存。\n");
int co;
fflush(stdin);
scanf("%d",&co);
if(co==1)
{
save_file();
}
}
break;
}
switch(com)
{
case 1:addhello();
break;
case 2:changehello();//change
savedtag=1;
break;
case 3:deletehello();//delete
savedtag=1;
break;
case 4:findhello();//find
savedtag=1;
break;
case 5:sorthello();//sort
savedtag=1;
break;
case 6:outputs();//out
savedtag=1;
break;
case 7:
system("cls");
break;
case 8:save_file();
break;
}
}
bye();
return 0;
}
头文件定义:
#ifndef STUDENT_H_INCLUDED
#define STUDENT_H_INCLUDED
#define LEN sizeof(struct lb)
#define FN "D:\\stu.dat"
#define DEBUG
typedef struct stu
{
int no;
char name[20];
char sex;
int age;
double scores[3];
double sum;
double avg;
int pos;
}student;//学生数据结构体
typedef struct lb
{
student data;
struct lb *next;
}node,*lbpointer;//链表结点结构体
extern int savedtag;//判断信息是否发生改动
extern node *pHead;//全局使用同一链表头
extern int n;//记录当前信息个数
//hello.c
void sayhello();//打印欢迎界面
void menu();//打印菜单;
void bye();//打印退出信息
//add.c
void input(node *p);//实现信息接收
lbpointer init();//创建链表头节点
int creatstulb(node *pHead,int n);//创建链表节点
void addform_Key();//从键盘输入信息
void addhello();//选择输入方式
int create_add_file(char *fn);//将文件信息以链表形式储存
void addform_file();//从文件读入信息
void sort_nit();//判断是否根据总成绩维护名次
//output.c
void outputheader();//输出表头
void output(node *p);//输出节点信息
void outputs();//输出链表
//save.c
void save_file_path();//选择文件储存路径
int save(char *fn);//储存信息至文件
void save_file();//输出提示信息
//find.c
lbpointer find_no(int num);//根据学号查询
lbpointer find_name(char namel[]);//根据姓名查询
void findhello();//输出提示信息
//change.c
void changeinf();//修改信息
void changehead();//输出提示信息
void changehello();//输出提示信息
void change_warn(node *p);//提示是否修改
//delete.c
void deletehello();//输出提示信息
void delete_name(char namel[]);//根据姓名删除
void delete_no(int num);//根据学号
void delete_warn(node *p);//提示是否删除
//sort.c
void sort_no_up();//学号升序
int sort_select();//选择排序方法
void sorthello();//输出提示信息
void sort_sum_up();//总分升序
void sort_no_down();//学号降序
void sort_sum_down();//总分降序
void sort_pos_down();//降序排名
void sort_pos_up();//升序排名
void sort_score2_down();//成绩3降序
void sort_score1_down();//成绩2降序
void sort_score0_down();//成绩1降序
void sort_score0_up();//成绩1升序
void sort_score1_up();//成绩2升序
void sort_score2_up();//成绩3升序
#endif // STUDENT_H_INCLUDED
实现添加信息功能:
#include <stdio.h>
#include <stdlib.h>
#include "student.h"
node *pHead=NULL;
char *fn=FN;
void input(node *p)
{
printf("请按照如下格式输入\n");
printf("学号\t姓名\t性别\t年龄\t成绩1\t成绩2\t成绩3\n");
scanf("%d %s %c %d %lf %lf %lf",&p->data.no,p->data.name,&p->data.sex,&p->data.age,&p->data.scores[0],&p->data.scores[1],&p->data.scores[2]);
p->data.sum=p->data.scores[0]+p->data.scores[1]+p->data.scores[2];
p->data.avg=p->data.sum/3.0;
p->data.pos=0;
}
lbpointer init()
{
node *pHead=(node *)malloc(LEN);
if(pHead==NULL)
{
printf("memory error\n");
exit(1);
}
pHead->next=NULL;
return pHead;
}
int creatstulb(node *pHead,int n)
{
int i;
node *p,*pTail=pHead;
for(i=0;i<n;i++)
{
p=(node *)malloc(LEN);
if(p==NULL)return i;
input(p);
p->next=NULL;
pTail->next=p;
pTail=p;
}
return i;
}
void addform_Key()
{
savedtag=1;
int m;
printf("请输入学生人数:\n");
while(scanf("%d",&m)==0)
{
fflush(stdin);
printf("输入指令不正确呢,请重新输入试试吧。\n");
printf("请输入学生人数:\n");
}
//pHead=init();
//creatstulb(m);
if(n==0)
{
pHead=init();
creatstulb(pHead,m);
}
else
{
node *pb=pHead;
while(pb->next!=NULL)
{
pb=pb->next;
}
creatstulb(pb,m);
}
sort_nit();
n=n+m;
}
void sort_nit()
{
int wos;
printf("系统将自动对数据根据总成绩进行排序,是否进行?\n");
printf("1执行,0不执行。\n");
fflush(stdin);
scanf("%d",&wos);
if(wos)
{sort_sum_down();}
}
int create_add_file(char *fn)
{
FILE *fp;
node *pb,*p;
if(n==0)
{
pHead=init();
pb=pHead;
}
else
{
pb=pHead;
while(pb->next!=NULL)
{
pb=pb->next;
}
}
int m=0;
if((fp=fopen(fn,"rb"))==NULL)
{
printf("fail open!\n");
return -1;
}
p=(node *)malloc(LEN);
fread(&p->data,sizeof(student),1,fp);
while(feof(fp)==0)
{
m++;
p->next=NULL;
pb->next=p;
pb=p;
p=(node *)malloc(LEN);
fread(&p->data,sizeof(student),1,fp);
}
sort_nit();
n+=m;
return 0;
}
void addform_file()
{
int com;
printf("默认文件存储在%s,是否采用默认路径?采用输入0,不采用输入1。\n",fn);
fflush(stdin);
scanf("%d",&com);
if(com==1)
{
printf("请输入文件路径:\n");
scanf("%s",fn);
}
if(create_add_file(fn)==0)
{
printf("信息添加成功!\n");
}
else
{
printf("信息添加不成功!\n");
fn=FN;
}
}
void addhello()
{
//printf("\n");
printf("----------------------------------------------\n");
printf("1从键盘输入信息\n");
printf("2从文件输入信息\n");
printf("0返回上一页\n");
printf("----------------------------------------------\n");
int cm;
scanf("%d",&cm);
if(cm==0){return;}
switch(cm)
{
case 1:addform_Key();//键盘
#ifdef DEBUG
printf("添加成功!当前有%d个人\n",n);
outputs();
#endif // DEBUG
break;
case 2:addform_file();//文件
#ifdef DEBUG
printf("添加成功!当前有%d个人\n",n);
outputs();
#endif // DEBUG
break;
}
return;
}
打印欢迎界面:
#include <stdio.h>
#include <stdlib.h>
#include "student.h"
void sayhello()
{
printf("**********************************************\n");
printf("**********你好!欢迎登录学生管理系统***********\n");
printf("*************技术支持:xxx***************\n");
printf("**********************************************\n");
}
void menu()
{
printf("\n+-----------------主菜单---------------------+\n");
printf("+-----------请输入您想进行的操作-------------+\n");
printf("+--------------------------------------------+\n");
printf("| 输入1添加信息 |\n");
printf("| 输入2修改信息 |\n");
printf("| 输入3删除信息 |\n");
printf("| 输入4查询信息 |\n");
printf("| 输入5排序 |\n");
printf("| 输入6输出 |\n");
printf("| 输入7清屏 |\n");
printf("| 输入8保存至文件 |\n");
printf("| 输入0退出 |\n");
printf("+--------------------------------------------+\n\n");
}
void bye()
{
printf("~~~~~~~~~~~~~~~~~~~byebye!~~~~~~~~~~~~~~~~~~~~\n");
}
输出功能:
#include <stdio.h>
#include <stdlib.h>
#include "student.h"
void outputheader()
{
printf("当前储存的学生信息有:\n");
//printf("-----------------------------------------------------------------------------\n");
printf("学号\t姓名\t\t性别\t年龄\t成绩1\t成绩2\t成绩3\t平均成绩 总成绩\t名次\n");
}
void output(node *p)
{
int i;
printf("%d\t%s\t\t%c\t%d\t",p->data.no,p->data.name,p->data.sex,p->data.age);
for(i=0;i<3;i++)
{
printf("%.1lf\t",p->data.scores[i]);
}
printf("%.1lf\t %.1lf\t%d\n",p->data.avg,p->data.sum,p->data.pos);
}
void outputs()
{
if(n==0){printf("这里什么都没有呢,请试试添加信息吧!\n");return;}
//int i;
outputheader();
node *pb;
pb=pHead->next;
while(pb!=NULL)
{
output(pb);
pb=pb->next;
}
//printf("-----------------------------------------------------------------------------\n");
}
实现信息存储至文件:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "student.h"
char filename[100]=FN;
void save_file_path()
{
int com;
printf("默认文件保存到%s,是否采用默认路径?采用输入0,不采用输入1。\n",filename);
fflush(stdin);
scanf("%d",&com);
if(com==1)
{
printf("请输入您要保存的路径:\n");
scanf("%s",filename);
}
}
int save(char *fn)
{
FILE *fp;
node *pb;
pb=pHead->next;
if((fp=fopen(fn,"wb"))==NULL)
{
printf("fail open!\n");
return -1;
}
while(pb!=NULL)
{
fwrite(&pb->data,sizeof(student),1,fp);
pb=pb->next;
}
fclose(fp);
return 0;
}
void save_file()
{
if(n==0)
{
printf("这里没有信息呢,请先输入信息试试吧!\n");
return ;
}
save_file_path();
if(save(filename)==0)
{
printf("信息保存成功!\n");
savedtag=0;
}
else
{
printf("信息保存不成功!\n");
}
}
实现信息修改:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "student.h"
int co;
node *p;
int po;
void change_warn(node *p)
{
printf("要修改的信息如下,确认修改此信息?确认输入1,取消输入0.\n");
outputheader();
output(p);
fflush(stdin);
scanf("%d",&po);
}
void changeinf()
{
int nl;
double num;
char rename[20],resex;
printf("请输入要修改的内容:\n");
if(po)
{if(co==1)
{
fflush(stdin);
scanf("%s",rename);
strcpy(p->data.name,rename);
}
if(co==2)
{
fflush(stdin);
scanf("%c",&resex);
p->data.sex=resex;
}
if(co==3)
{
fflush(stdin);
scanf("%d",&nl);
p->data.age=nl;
}
if(co==4)
{
fflush(stdin);
scanf("%lf",&num);
p->data.scores[0]=num;
p->data.sum=p->data.scores[0]+p->data.scores[1]+p->data.scores[2];
p->data.avg=p->data.sum/3.0;
sort_sum_down();
}
if(co==5)
{
fflush(stdin);
scanf("%lf",&num);
p->data.scores[1]=num;
p->data.sum=p->data.scores[0]+p->data.scores[1]+p->data.scores[2];
p->data.avg=p->data.sum/3.0;
sort_sum_down();
}
if(co==6)
{
fflush(stdin);
scanf("%lf",&num);
p->data.scores[2]=num;
p->data.sum=p->data.scores[0]+p->data.scores[1]+p->data.scores[2];
p->data.avg=p->data.sum/3.0;
sort_sum_down();
}
if(co==7)
{
fflush(stdin);
scanf("%d",&nl);
p->data.no=nl;
}
}
}
void changehead()
{
printf("请输入你想要改变的学生信息:\n");
printf("1修改姓名\n");
printf("2修改性别\n");
printf("3修改年龄\n");
printf("4修改成绩1\n");
printf("5修改成绩2\n");
printf("6修改成绩3\n");
printf("7修改学号\n");
printf("0返回上一级\n");
scanf("%d",&co);
if(co==0)
{
return;
}
}
void changehello()
{
if(n==0)
{
printf("这里没有信息呢,请先输入信息试试吧!\n");
return ;
}
printf("----------------------------------------------\n");
printf("1根据学号查找需要修改的学生信息\n");
printf("2根据姓名查找需要修改的学生信息\n");
printf("0返回上一页\n");
printf("----------------------------------------------\n");
int cm,num;
char naml[20];
scanf("%d",&cm);
if(cm==0){return;}
switch(cm)
{
case 1: printf("请输入TA的学号:\n");
scanf("%d",&num);
p=find_no(num);
#ifdef DEBUG
printf("找到啦!\n");
#endif // DEBUG
change_warn(p);
changehead();
changeinf();//学号
#ifdef DEBUG
printf("修改成功!\n");
outputs();
#endif // DEBUG
break;
case 2:
printf("请输入TA的姓名:\n");
scanf("%s",naml);
p=find_name(naml);
#ifdef DEBUG
printf("找到啦!\n");
#endif // DEBUG
change_warn(p);
changehead();
changeinf();//姓名
#ifdef DEBUG
printf("修改成功!\n");
outputs();
#endif // DEBUG
break;
}
return;
}
/*
201 qiaoen f 15 92.5 85.6 78.5
200 liming m 16 85 90 92
*/
实现查找功能:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "student.h"
lbpointer find_no(int num)
{
int f=0;
node *pb=pHead->next;
while(pb!=NULL)
{
if(pb->data.no==num)
{
printf("找到啦!\n");
f=1;
outputheader();
output(pb);
return pb;
}
pb=pb->next;
}
if(f==0)
{
printf("没有找到这名同学~\n");
return 0;
}
return 0;
}
lbpointer find_name(char namel[])
{
int f=0;
node *pb=pHead->next;
while(pb!=NULL)
{
if(strcmp(namel,pb->data.name)==0)
{
printf("找到啦!\n");
f=1;
outputheader();
output(pb);
return pb;
}
pb=pb->next;
}
if(f==0)
{
printf("没有找到这名同学~\n");
return 0;
}
return 0;
}
void findhello()
{
if(n==0)
{
printf("这里没有信息呢,请先输入信息试试吧!\n");
return ;
}
//printf("\n");
printf("----------------------------------------------\n");
printf("1根据学号查找\n");
printf("2根据姓名查找\n");
printf("0返回上一页\n");
printf("----------------------------------------------\n");
int cm,num;
char naml[20];
scanf("%d",&cm);
if(cm==0){return;}
switch(cm)
{
case 1: printf("请输入TA的学号:\n");
scanf("%d",&num);
find_no(num);//学号
#ifdef DEBUG
printf("找到啦!当前有%d个人\n",n);
#endif // DEBUG
break;
case 2:
printf("请输入TA的姓名:\n");
scanf("%s",naml);
find_name(naml);//姓名
#ifdef DEBUG
printf("找到啦!当前有%d个人\n",n);
#endif // DEBUG
break;
}
return;
}
实现删除操作:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "student.h"
int pox;
void delete_warn(node *p)
{
printf("要删除的信息如下,确认删除?确认输入1,取消输入0.\n");
outputheader();
output(p);
fflush(stdin);
scanf("%d",&pox);
}
void delete_no(int num)
{
int f=0;
node *pb=pHead,*plast,*tmp;
while(pb->next!=NULL&&pb->next->data.no!=num)
{
pb=pb->next;
}
if(pb->next->data.no==num)
{
printf("找到啦!\n");
f=1;
delete_warn(pb->next);
if(pox==1)
{
plast=pb->next->next;
tmp=pb->next;
pb->next=plast;
free(tmp);
n--;
sort_sum_down();
}
else
{
return;
}
}
if(f==0)
{
printf("没有找到这名同学~\n");
return ;
}
return ;
}
void delete_name(char namel[])
{
int f=0;
node *pb=pHead,*plast,*tmp;
while(pb->next!=NULL&&strcmp(namel,pb->next->data.name)!=0)
{
pb=pb->next;
}
if(strcmp(namel,pb->next->data.name)==0)
{
printf("找到啦!\n");
f=1;
delete_warn(pb->next);
if(pox==1)
{
plast=pb->next->next;
tmp=pb->next;
pb->next=plast;
free(tmp);
n--;
sort_sum_down();
}
else
{
return;
}
}
if(f==0)
{
printf("没有找到这名同学~\n");
return ;
}
return ;
}
void deletehello()
{
if(n==0)
{
printf("这里没有信息呢,请先输入信息试试吧!\n");
return ;
}
printf("----------------------------------------------\n");
printf("1根据学号查找需要删除的学生信息\n");
printf("2根据姓名查找需要删除的学生信息\n");
printf("0返回上一页\n");
printf("----------------------------------------------\n");
int cm,num;
char naml[20];
fflush(stdin);
scanf("%d",&cm);
if(cm==0){return;}
switch(cm)
{
case 1: printf("请输入TA的学号:\n");
scanf("%d",&num);
delete_no(num);//学号
#ifdef DEBUG
printf("删除成功!当前有%d个人\n",n);
#endif // DEBUG
break;
case 2:
printf("请输入TA的姓名:\n");
scanf("%s",naml);
delete_name(naml);//姓名
#ifdef DEBUG
//if(f==1)
printf("删除成功!当前有%d个人\n",n);
#endif // DEBUG
break;
}
return;
}
实现排序功能
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "student.h"
void sort_pos_down()
{
node *pb;
int o=1;
pb=pHead->next;
while(pb!=NULL)
{
pb->data.pos=o++;
pb=pb->next;
}
}
void sort_pos_up()
{
node *pb;
int o=n;
pb=pHead->next;
while(pb!=NULL)
{
pb->data.pos=o--;
pb=pb->next;
}
}
void sort_score0_up()
{
int i,j;
node *p,*pn;
student tmp;
for(i=0;i<n-1;i++)
{
p=pHead->next;
pn=p->next;
for(j=0;j<n-i-1;j++)
{
if(p->data.scores[0] > pn->data.scores[0])
{
tmp=p->data;
p->data=pn->data;
pn->data=tmp;
}
p=p->next;
pn=pn->next;
}
}
}
void sort_score1_up()
{
int i,j;
node *p,*pn;
student tmp;
for(i=0;i<n-1;i++)
{
p=pHead->next;
pn=p->next;
for(j=0;j<n-i-1;j++)
{
if(p->data.scores[1] > pn->data.scores[1])
{
tmp=p->data;
p->data=pn->data;
pn->data=tmp;
}
p=p->next;
pn=pn->next;
}
}
}
void sort_score2_up()
{
int i,j;
node *p,*pn;
student tmp;
for(i=0;i<n-1;i++)
{
p=pHead->next;
pn=p->next;
for(j=0;j<n-i-1;j++)
{
if(p->data.scores[2] > pn->data.scores[2])
{
tmp=p->data;
p->data=pn->data;
pn->data=tmp;
}
p=p->next;
pn=pn->next;
}
}
}
void sort_score0_down()
{
int i,j;
node *p,*pn;
student tmp;
for(i=0;i<n-1;i++)
{
p=pHead->next;
pn=p->next;
for(j=0;j<n-i-1;j++)
{
if(p->data.scores[0] < pn->data.scores[0])
{
tmp=p->data;
p->data=pn->data;
pn->data=tmp;
}
p=p->next;
pn=pn->next;
}
}
}
void sort_score1_down()
{
int i,j;
node *p,*pn;
student tmp;
for(i=0;i<n-1;i++)
{
p=pHead->next;
pn=p->next;
for(j=0;j<n-i-1;j++)
{
if(p->data.scores[1] < pn->data.scores[1])
{
tmp=p->data;
p->data=pn->data;
pn->data=tmp;
}
p=p->next;
pn=pn->next;
}
}
}
void sort_score2_down()
{
int i,j;
node *p,*pn;
student tmp;
for(i=0;i<n-1;i++)
{
p=pHead->next;
pn=p->next;
for(j=0;j<n-i-1;j++)
{
if(p->data.scores[2] < pn->data.scores[2])
{
tmp=p->data;
p->data=pn->data;
pn->data=tmp;
}
p=p->next;
pn=pn->next;
}
}
}
void sort_age_up()
{
int i,j;
node *p,*pn;
student tmp;
for(i=0;i<n-1;i++)
{
p=pHead->next;
pn=p->next;
for(j=0;j<n-i-1;j++)
{
if(p->data.age > pn->data.age)
{
tmp=p->data;
p->data=pn->data;
pn->data=tmp;
}
p=p->next;
pn=pn->next;
}
}
}
void sort_age_down()
{
int i,j;
node *p,*pn;
student tmp;
for(i=0;i<n-1;i++)
{
p=pHead->next;
pn=p->next;
for(j=0;j<n-i-1;j++)
{
if(p->data.age < pn->data.age)
{
tmp=p->data;
p->data=pn->data;
pn->data=tmp;
}
p=p->next;
pn=pn->next;
}
}
}
void sort_no_up()
{
int i,j;
node *p,*pn;
student tmp;
for(i=0;i<n-1;i++)
{
p=pHead->next;
pn=p->next;
for(j=0;j<n-i-1;j++)
{
if(p->data.no > pn->data.no)
{
tmp=p->data;
p->data=pn->data;
pn->data=tmp;
}
p=p->next;
pn=pn->next;
}
}
}
void sort_no_down()
{
int i,j;
node *p,*pn;
student tmp;
for(i=0;i<n-1;i++)
{
p=pHead->next;
pn=p->next;
for(j=0;j<n-i-1;j++)
{
if(p->data.no < pn->data.no)
{
tmp=p->data;
p->data=pn->data;
pn->data=tmp;
}
p=p->next;
pn=pn->next;
}
}
}
void sort_sum_up()
{
node *p,*pmin,*q;
student tmp;
p=pHead->next;
while(p->next!=NULL)
{
pmin=p;
q=p->next;
while(q!=NULL)
{
if(pmin->data.sum > q->data.sum)
pmin=q;
q=q->next;
}
if(pmin!=p)
{
tmp=pmin->data;
pmin->data=p->data;
p->data=tmp;
}
p=p->next;
}
sort_pos_up();
}
void sort_sum_down()
{
node *p,*pmax,*q;
student tmp;
p=pHead->next;
while(p->next!=NULL)
{
pmax=p;
q=p->next;
while(q!=NULL)
{
if(pmax->data.sum < q->data.sum)
pmax=q;
q=q->next;
}
if(pmax!=p)
{
tmp=pmax->data;
pmax->data=p->data;
p->data=tmp;
}
p=p->next;
}
sort_pos_down();
}
int sort_select()
{
int mark;
printf("----------------------------------------------\n");
printf("1对学生信息进行升序排序\n");
printf("2对学生信息进行降序排序\n");
printf("0返回上一页\n");
printf("----------------------------------------------\n");
fflush(stdin);
scanf("%d",&mark);
return mark;
}
void sorthello()
{
if(n==0)
{
printf("这里没有信息呢,请先输入信息试试吧!\n");
return ;
}
printf("----------------------------------------------\n");
printf("1根据学号对学生信息进行排序\n");
printf("2根据总成绩对学生信息进行排序\n");
printf("3根据年龄对学生信息进行排序\n");
printf("4根据成绩1对学生信息进行排序\n");
printf("5根据成绩2对学生信息进行排序\n");
printf("6根据成绩3对学生信息进行排序\n");
printf("0返回上一页\n");
printf("----------------------------------------------\n");
int cm,sel;
fflush(stdin);
scanf("%d",&cm);
if(cm==0){return;}
switch(cm)
{
case 1: sel=sort_select();
if(sel==0){sorthello();}
if(sel==1){sort_no_up();}
if(sel==2){sort_no_down();}//学号
#ifdef DEBUG
printf("排序成功!当前有%d个人\n",n);
outputs();
#endif // DEBUG
break;
case 2: sel=sort_select();
if(sel==0){sorthello();}
if(sel==1){sort_sum_up();}
if(sel==2){sort_sum_down();}//名次
#ifdef DEBUG
printf("排序成功!当前有%d个人\n",n);
outputs();
#endif // DEBUG
break;
case 3: sel=sort_select();
if(sel==0){sorthello();}
if(sel==1){sort_age_up();}
if(sel==2){sort_age_down();}//年龄
#ifdef DEBUG
printf("排序成功!当前有%d个人\n",n);
outputs();
#endif // DEBUG
break;
case 4: sel=sort_select();
if(sel==0){sorthello();}
if(sel==1){sort_score0_up();}
if(sel==2){sort_score0_down();}//成绩1
#ifdef DEBUG
printf("排序成功!当前有%d个人\n",n);
outputs();
#endif // DEBUG
break;
case 5: sel=sort_select();
if(sel==0){sorthello();}
if(sel==1){sort_score1_up();}
if(sel==2){sort_score1_down();}//成绩2
#ifdef DEBUG
printf("排序成功!当前有%d个人\n",n);
outputs();
#endif // DEBUG
break;
case 6: sel=sort_select();
if(sel==0){sorthello();}
if(sel==1){sort_score2_up();}
if(sel==2){sort_score2_down();}//成绩3
#ifdef DEBUG
printf("排序成功!当前有%d个人\n",n);
outputs();
#endif // DEBUG
break;
}
return;
}