/*学生成绩分析管理系统
进入密码为:1234
学生成绩保存在E盘文件名为a.txt
以下有截图说明*/
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<string.h>
#define LEN sizeof(struct student)
#define stu struct student
stu/*结构体的成员*/
{
int num;
char name[20];
char yuan_xi[20];
char C[20];
char math[20];
char english[20];
char clas[20];
int score1;
int score2;
int score3;
stu *next;
};
stu *creat()/*创建链表*/
{
stu *head,*p1,*p2;
int i=0;
head=NULL;
p1=p2=(stu *)malloc(LEN);
printf("\n\n 学生信息的录入\n ");
printf(" ┌──┬──┬──┬──┬───┬──┬───┬──┬───┬──┐\n");
printf(" │学号│姓名│院系│班级│科目1 │成绩│科目2 │成绩│科目3 │成绩│\n");
printf(" ├──┼──┼──┼──┼───┼──┼───┼──┼───┼──┤\n");
scanf("%d%s%s%s%s%d%s%d%s%d",&p1->num,p1->name,p1->yuan_xi,p1->clas,p1->C,&p1->score1,p1->math,&p1->score2,p1->english,&p1->score3);
while(p1->num !=0)
{
i=1+i;
if(i==1)
{
head=p1;
}
else
{
p2->next=p1;
}
p2=p1;
printf("以各项为0结束\n");
p1=(stu *)malloc(LEN);
scanf("%d%s%s%s%s%d%s%d%s%d",&p1->num,p1->name,p1->yuan_xi,p1->clas,p1->C,&p1->score1,p1->math,&p1->score2,p1->english,&p1->score3);
}
p2->next =NULL;
return head;
}
void cun(stu *head)/*录入信息的存取*/
{
stu *p;
FILE *fp;
p=head;
fp=fopen("e:\\a.txt","ab");/*信息保存在a.txt中*/
do
{
fwrite (p,LEN,1,fp);
p=p->next;
}while (p!=NULL);
fclose (fp);
}
void save(stu *head)/*这个函数用于保存修改后的数据*/
{
stu *p;
FILE *fp;
p=head;
fp=fopen("e:\\a.txt","wb"); /*如果在桌面上运行 则在桌面上建一个a.txt的文件。*/
do
{
fwrite (p,LEN,1,fp);
p=p->next;
}while (p!=NULL);
fclose (fp);
}
stu *du()/*用于读出文件中的数据*/
{
stu *head,*p4,*p5;
int i = 0;
head=NULL;
p4=p5=(stu *)malloc (LEN);
FILE *fp;
fp=fopen ("e:\\a.txt","r");
if(fp==0)
{
printf ("文件打开失败!\n");
exit (0);
}
while (fread(p4,LEN,1,fp)==1)//用于读出文件中的数据的循环体
{
i=i+1;
if (i==1)
{
head=p4;
}
else
{
p5->next=p4;
}
p5=p4;
p4=(stu *)malloc(LEN);
}
p5->next=NULL;
fclose (fp);
return (head);
}
void print()/*输出函数*/
{
stu *p;
p=du();
printf("\n\n 学生成绩表\n\n ");
printf(" ┌──┬──┬──┬──┬───┬──┬───┬──┬───┬──┐\n");
printf(" │学号│姓名│院系│班级│科目1 │成绩│科目2 │成绩│科目3 │成绩│\n");
printf(" ├──┼──┼──┼──┼───┼──┼───┼──┼───┼──┤\n");
while(p!=0)
{
printf(" │%d │%s │%s │%s │%s │%d │%s │%d │%s │%d │\n",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
p=p->next;
if (p==0)
printf(" └──┴──┴──┴──┴───┴──┴───┴──┴───┴──┘\n");
else
printf(" ├──┼──┼──┼──┼───┼──┼───┼──┼───┼──┤\n");
}
}
void change()/*这个函数用于修改文件中的数据*/
{
char mi[20];
print();/*先读出以便于修改*/
stu *p,*head;
head=du();
p=head;
printf ("请输入你要修改的学生的姓名:");
scanf ("%s",mi);/*输入你要修改的学生的姓名*/
while (p!=0)
{
if(strcmp(mi,p->name)==0)
{
printf("\n\n 学生信息的显示\n ");
printf(" ┌──┬──┬──┬──┬───┬──┬───┬──┬───┬──┐\n");
printf(" │学号│姓名│院系│班级│科目1 │成绩│科目2 │成绩│科目3 │成绩│\n");
printf(" ├──┼──┼──┼──┼───┼──┼───┼──┼───┼──┤\n");
printf(" %d %s %s %s %s %d %s %d %s %d ",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
printf("\n");
printf(" ┌──────────────────────────────────┐\n");
printf(" │ 1. 修改学号信息 6. 修改C语言成绩 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 2. 修改姓名信息 7. 修改科目2 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 3. 修改院系信息 8. 修改数学成绩 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 4. 修改班级信息 9. 修改科目3 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 5. 修改科目1 10. 修改英语成绩 │\n");
printf(" └──────────────────────────────────┘\n");
printf("\n 请输入需要修改的内容、、、:");
printf("\n请输入:");
int n;
scanf("%d",&n);
switch(n) //这个菜单用于选择你要修改的内容
{
case 1 :/*修改学号信息*/
printf ("请输入修改后的学号:\n");
scanf ("%d",&p->num);
break;
case 2 :
printf("请输入修改后的姓名:\n");
scanf("%s",p->name);
break;
case 3 :
printf("请输入修改后的系别:\n");
scanf("%s",p->yuan_xi);
break;
case 4 :
printf ("请输入修改后的班级:\n");
scanf ("%s",p->clas);
break;
case 5 :
printf("请输入修改后的科目1:\n");
scanf("%s",p->C);
break;
case 6 :
printf("请输入修改后的科目1成绩:\n");
scanf("%d",&p->score1);
break;
case 7 :
printf("请输入修改后的科目2:\n");
scanf("%s",p->math);
break;
case 8 :
printf("请输入修改后的科目2成绩:\n");
scanf("%d",&p->score2);
break;
case 9 :
printf("请输入修改后的科目3:\n");
scanf("%s",p->english);
break;
case 10 :
printf("请输入修改后的科目3成绩:\n");
scanf("%d",&p->score3);
break;
case 11 :
exit(0);
break;
}
save(head);
break;
}
p=p->next;
if(p==0)
printf("\n没有此学生!\n");
}
}
void search() /*查询方式函数*/
{
int i;
printf(" \n\n\n\n\n");
printf(" ┌──────────────────────────────────┐\n");
printf(" │ 1. 按学生的姓名查询 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 2. 按学生的班级查询 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 3. 按院系查询 │\n");
printf(" └──────────────────────────────────┘\n");
printf("\n 请选择、、、:");
}
void name()/*姓名查询*/
{
stu *p;
char name[20];
int u=0;
printf("请输入你要查找的名字\n");
scanf("%s",name);
p=du();
printf("\n\n 查询学生信息结果显示\n ");
printf(" ┌──┬──┬──┬──┬───┬──┬───┬──┬───┬──┐\n");
printf(" │学号│姓名│院系│班级│科目1 │成绩│科目2 │成绩│科目3 │成绩│\n");
printf(" ├──┼──┼──┼──┼───┼──┼───┼──┼───┼──┤\n");
while(p != 0 )
{
if(strcmp(p->name,name)==0 )
{
u=1;
printf(" %d %s %s %s %s %d %s %d %s %d \n",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
}
p=p->next ;
}
if(u==0)
{
printf("没有此学生\n");
}
}
void ban()/*班级查询*/
{
stu *p;
char ban[20];
int u=0;
printf("请输入你要查找的班级\n");
scanf("%s",ban);
p=du();
printf("\n\n 查询学生信息结果显示\n ");
printf(" ┌──┬──┬──┬──┬───┬──┬───┬──┬───┬──┐\n");
printf(" │学号│姓名│院系│班级│科目1 │成绩│科目2 │成绩│科目3 │成绩│\n");
printf(" ├──┼──┼──┼──┼───┼──┼───┼──┼───┼──┤\n");
while(p != 0 )
{
if(strcmp(p->clas,ban)==0 )
{
u=1;
printf(" %d %s %s %s %s %d %s %d %s %d \n",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
}
p=p->next ;
}
if(u==0)
{
printf("没有此学生\n");
}
}
void xi()/*系别查询*/
{
stu *p;
char xi[20];
int u=0;
printf("\n请输入你要查找的系别\n");
scanf("%s",xi);
p=du();
printf("\n\n 查询学生信息结果显示\n ");
printf(" ┌──┬──┬──┬──┬───┬──┬───┬──┬───┬──┐\n");
printf(" │学号│姓名│院系│班级│科目1 │成绩│科目2 │成绩│科目3 │成绩│\n");
printf(" ├──┼──┼──┼──┼───┼──┼───┼──┼───┼──┤\n");
while(p != 0 )
{
if(strcmp(p->yuan_xi,xi)==0 )
{
u=1;
printf(" %d %s %s %s %s %d %s %d %s %d \n",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
}
p=p->next ;
}
if(u==0)
{
printf("没有此学生\n");
}
}
void xian()/*排序菜单*/
{
int i;
printf(" \n\n\n\n\n");
printf(" ┌──────────────────────────────────┐\n");
printf(" │ 1. 按学生的科目1进行排序 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 2. 按学生的科目2进行排序 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 3. 按学生的科目3进行排序 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 4. 返回上一层 │\n");
printf(" └──────────────────────────────────┘\n");
printf("\n 请选择、、、:");
}
void sort_chin() /*按kemu1成绩排序*/
{
stu *p,*tail,*head; /*定义中间变量*/
int score1;
p=(stu *)malloc(LEN);
head=du();
printf("\n\n 按学生语文科目1成绩排序\n ");
printf(" ┌──┬──┬──┬──┬───┬──┬───┬──┬───┬──┐\n");
printf(" │学号│姓名│院系│班级│科目1 │成绩│科目2 │成绩│科目3 │成绩│\n");
printf(" ├──┼──┼──┼──┼───┼──┼───┼──┼───┼──┤\n");
while(head->next!=NULL) /*利用选择法排序*/
{
tail=NULL;
p=head;
score1=p->score1; /*将链表中第一个成绩赋给score1*/
while(p!=NULL)
{
if((p->score1)>score1)/*比较*/
score1=p->score1;
tail=p;
p=p->next;
}
tail=NULL;
p=head;
while(p->next!=NULL)
{
if(p->score1==score1)
{
printf(" %d %s %s %s %s %d %s %d %s %d \n",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
if(p==head)
head=head->next;
else
tail->next=p->next;
}
tail=p;
p=p->next;
}
if(p->score1==score1)/*分数相同时无需比较*/
{
printf(" %d %s %s %s %s %d %s %d %s %d \n",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
tail->next=NULL;
}
}
p=head; /*将链表赋给结构体指针*/
printf(" %d %s %s %s %s %d %s %d %s %d \n",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3); printf(" %d %s %s %s %s %d %s %d %s %d ",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
}
void sort_math() //按科目2成绩排序
{
stu *p,*tail,*head; /*定义中间变量*/
int score2;
p=(stu *)malloc(LEN);
head=du();
printf("\n\n 按学生科目2成绩排序\n ");
printf(" ┌──┬──┬──┬──┬───┬──┬───┬──┬───┬──┐\n");
printf(" │学号│姓名│院系│班级│科目1 │成绩│科目2 │成绩│科目3 │成绩│\n");
printf(" ├──┼──┼──┼──┼───┼──┼───┼──┼───┼──┤\n");
while(head->next!=NULL) /*利用选择法排序*/
{
tail=NULL;
p=head;
score2=p->score2; /*将链表中第一个成绩赋给score2*/
while(p!=NULL)
{
if((p->score2)>score2)/*比较*/
score2=p->score2;
tail=p;
p=p->next;
}
tail=NULL;
p=head;
while(p->next!=NULL)
{
if(p->score2==score2)
{
printf(" %d %s %s %s %s %d %s %d %s %d \n",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3); printf(" %d %s %s %s %s %d %s %d %s %d ",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
if(p==head)
head=head->next;
else
tail->next=p->next;
}
tail=p;
p=p->next;
}
if(p->score2==score2) /*分数相同时无需比较*/
{
printf(" %d %s %s %s %s %d %s %d %s %d \n",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3); printf(" %d %s %s %s %s %d %s %d %s %d ",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
tail->next=NULL;
}
}
p=head; /*将链表赋给结构体指针*/
printf(" %d %s %s %s %s %d %s %d %s %d \n",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
}
void sort_eng()/*按科目3成绩排序*/
{
stu *p,*tail,*head; /*定义中间变量*/
int score3;
p=(stu *)malloc(LEN);
head=du();
printf("\n\n 按学生科目3成绩排序\n ");
printf(" ┌──┬──┬──┬──┬───┬──┬───┬──┬───┬──┐\n");
printf(" │学号│姓名│院系│班级│科目1 │成绩│科目2 │成绩│科目3 │成绩│\n");
printf(" ├──┼──┼──┼──┼───┼──┼───┼──┼───┼──┤\n");
while(head->next!=NULL) /*利用选择法排序*/
{
tail=NULL;
p=head;
score3=p->score3;/*将链表中第一个成绩赋给score3*/
while(p!=NULL)
{
if((p->score3)>score3)/*比较*/
score3=p->score3;
tail=p;
p=p->next;
}
tail=NULL;
p=head;
while(p->next!=NULL)
{
if(p->score3==score3)
{
printf(" %d %s %s %s %s %d %s %d %s %d \n",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
if(p==head)
head=head->next;
else
tail->next=p->next;
}
tail=p;
p=p->next;
}
if(p->score3==score3) /*分数相同时无需比较*/
{
printf(" %d %s %s %s %s %d %s %d %s %d \n",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
tail->next=NULL;
}
}
p=head; /*将链表赋给结构体指针*/
printf(" %d %s %s %s %s %d %s %d %s %d \n",p->num,p->name,p->yuan_xi,p->clas,p->C,p->score1,p->math,p->score2,p->english,p->score3);
}
void math()/*对科目1分析*/
{
int b,sum=0,c;
float i=0,j=0,g=0,ave;
float m,n;
stu *p;
p=du();
char ba[20];
printf(" \n\n\n\n\n");
printf(" 对科目1成绩分析\n");
printf(" ┌──────────────────────────────────┐\n");
printf(" │ 1. 系别成绩分析 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 2. 班级成绩分析 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 0. 返回上一层 │\n");
printf(" └──────────────────────────────────┘\n");
printf("\n 请选择、、、:");
scanf("%d",&c);
if(c==1)
{
printf("请输入系别名称:\n");
scanf("%s",ba);
}
else if(c==2)
{
printf("请输入班级名称:\n");
scanf("%s",ba);
}
else
{
exit(0);
}
while(p!=0)
{
if(c==2)
{
if(strcmp(p->clas ,ba)==0)
{
i=i+1;
b=p->score2;
sum=sum+b;
if(b>=60)
{
j=j+1;
if(b>=90)
{
g=g+1;
}
}
}
}
if(c==1)
{
if(strcmp(p->yuan_xi ,ba)==0)
{
i=i+1;
b=p->score2;
sum=sum+b;
if(b>=60)
{
j=j+1;
if(b>=90)
{
g=g+1;
}
}
}
}
b=0;
p=p->next;
}
m=j/i;
n=g/i;
ave=sum/i;
printf("及格率%.2f 优秀率%.2f 平均值%.2f\n",m,n,ave);
}
void chin()/*对科目2成绩分析*/
{
int b,sum=0,c,o;
float i=0,j=0,g=0;
float m,n,ave;
stu *p;
p=du();
char ba[20];
printf(" \n\n\n\n\n");
printf(" 对科目2成绩分析\n");
printf(" ┌──────────────────────────────────┐\n");
printf(" │ 1. 按系别进行查看 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 2. 按班级进行查看 │\n");
printf(" └──────────────────────────────────┘\n");
printf("\n 请选择、、、:");
scanf("%d",&c);
if(c==1)
{
printf("请输入系别名称:\n");
scanf("%s",ba);
}
else if(c==2)
{
printf("请输入班级名称:\n");
scanf("%s",ba);
}
else
{
printf("输入错误");
system("PAUSE");
system("cls");
}
while(p!=0)
{
if(c==2)
{
if(strcmp(p->clas ,ba)==0)
{
i=i+1;
b=p->score1;
sum=sum+b;
if(b>=60)
{
j=j+1;
if(b>=90)
{
g=g+1;
}
}
}
}
else
{
if(strcmp(p->yuan_xi ,ba)==0)
{
i=i+1;
b=p->score2;
sum=sum+b;
if(b>=60)
{
j=j+1;
if(b>=90)
{
g=g+1;
}
}
}
}
b=0;
p=p->next;
}
m=j/i;
n=g/i;
ave=sum/i;
printf("及格率%.2f 优秀率%.2f 平均值%.2f\n",m,n,ave);
}
void eng()/*对科目3成绩分析*/
{
int b,sum=0,c;
float i=0,j=0,g=0;
float m,n,ave;
stu *p;
p=du();
char ba[20];
printf(" \n\n\n\n\n");
printf(" 对科目3成绩分析\n");
printf(" ┌──────────────────────────────────┐\n");
printf(" │ 1. 按系别进行查看 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 2. 按班级进行查看 │\n");
printf(" └──────────────────────────────────┘\n");
printf("\n 请选择、、、:");
scanf("%d",&c);
if(c==1)
{
printf("请输入系别名称:\n");
scanf("%s",ba);
}
else if(c==2)
{
printf("\n请输入班级名称:\n");
scanf("%s",ba);
}
else
{
printf("输入错误");
system("PAUSE");
system("cls");
}
while(p!=0)
{
if(c==2)
{
if(strcmp(p->clas ,ba)==0)
{
i=i+1;
b=p->score3;
sum=sum+b;
if(b>=60)
{
j=j+1;
if(b>=90)
{
g=g+1;
}
}
}
}
else
{
if(strcmp(p->yuan_xi ,ba)==0)
{
i=i+1;
b=p->score2;
sum=sum+b;
if(b>=60)
{
j=j+1;
if(b>=90)
{
g=g+1;
}
}
}
}
b=0;
p=p->next;
}
m=j/i;
n=g/i;
ave=sum/i;
printf("及格率%.2f 优秀率%.2f 平均值%.2f\n",m,n,ave);
}
void zui()/*分析个人成绩**/
{
int max,min,sum,a,b,ave,c,i=0,g=0;
char name[20];
stu *p;
p=du();
printf("\n\n 分析个人成绩、、、\n");
printf("\n 请输入学生的名字、、:\n");
scanf("%s",name);
while(p!=0)
{
if(strcmp(p->name ,name)==0)
{
g=1;
sum=p->score1 +p->score2+p->score3;
a=p->score1;
b=p->score2;
c=p->score3;
}
p=p->next;
}
ave=sum/3;
if(a>=b)
{
if(b>=c)
{
max=a;
min=c;
printf("max:%d min:%d ave:%d\n",max,min,ave);
}
else
{
if(a>=c)
{
max=a;
min=b;
printf("max:%d min:%d ave:%d\n",max,min,ave);
}
else
{
max=c;
min=b;
printf("max:%d min:%d ave:%d\n",max,min,ave);
}
}
}
else
{
ave=sum/3;
if(a>=c)
{
max=b;
min=c;
printf("max:%d min:%d,ave:%d\n",max,min,ave);
}
else
{
if(b>=c)
{
max=b;
min=a;
printf("max:%d min:%d ave:%d\n",max,min,ave);
}
else
{
max=c;
min=a;
printf("max:%d min:%d ave:%d\n",max,min,ave);
}
}
}
}
void enter()/*密码函数*/
{
int i;
while(1)
{
int a;
char f;
char ch[20];
char num[20]={"1234"};
printf("\n\n\n\n\n\n");
printf(" ┌──────────────────────────────────┐\n");
printf(" │ 请输入密码 │\n");
printf(" └──────────────────────────────────┘\n");
printf("\n 开始输入、、、:");
scanf("%s",ch);
system("cls");
if(strcmp(num,ch) == 0)
a = 1234;
if(a ==1234)
{
printf("\n\n\n\n\n\n");
printf(" ┌──────────────────────────┐\n");
printf(" │****************************************************│\n");
printf(" │****************************************************│\n");
printf(" │****************************************************│\n");
printf(" │*********┌──────────────┐***********│\n");
printf(" │*********│欢迎进入学生成绩管理分析系统│***********│\n");
printf(" │*********└──────────────┘***********│\n");
printf(" │****************************************************│\n");
printf(" │****************************************************│\n");
printf(" │****************************************************│\n");
printf(" └──────────────────────────┘\n");
f=getchar();
getchar();
break;
}
else
{
printf("\n 密码错误");
printf("请输入新密码:");
}
}
}
int main() /*主函数*/
{
int i;
enter();
system("PAUSE");
system("cls");
printf("\n\n");
while(1)
{
printf("\n");
printf(" ┌──────────────────────────────────┐\n");
printf(" │ 1. 学生信息的录入 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 2. 学生信息的修改 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 3. 对学生的成绩进行分析(院系和班级的单科平均成绩、及格率和优秀率) │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 4. 对个人成绩进行分析(各科的最高分和最低分) │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 5. 对学生考试成绩进行排名 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 6. 显示成绩表 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 7. 学生成绩的查找 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 8. 退出程序 │\n");
printf(" └──────────────────────────────────┘\n");
int n;
stu *head;
printf(" 请选择:");
scanf("%d",&n);
switch(n)
{
case 1:/*学生信息的录入*/
{
system("PAUSE");
system("cls");
head=creat();/*创建函数*/
cun(head);/*保存函数*/
};break;
case 2:/*学生信息的修改*/
{
system("PAUSE");
system("cls");
change();/*修改*/
};break;
case 3:/*即求单科平均成绩、及格率和优秀率*/
{
system("PAUSE");
system("cls");
int h;
printf(" ┌──────────────────────────────────┐\n");
printf(" │ 1. 按科目1进行成绩分析 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 2. 按科目2进行成绩分析 │\n");
printf(" ├──────────────────────────────────┤\n");
printf(" │ 3. 按科目3进行成绩分析 │\n");
printf(" └──────────────────────────────────┘\n");
printf("\n 请选择、、、:");
scanf("%d",&h);
switch(h)
{
case 1:/*按科目1进行成绩分析*/
{
system("PAUSE");
system("cls");
chin();
};break;
case 2:/*按科目2进行成绩分析*/
{
system("PAUSE");
system("cls");
math();
};break;
case 3:/*按科目3进行成绩分析*/
{
system("PAUSE");
system("cls");
eng();
};break;
default :
{
system("PAUSE");
system("cls");
printf("\n 你的输入有误、、、");
};break;
}
};break;
case 4:/*对个人成绩进行分析(各科的最高分和最低分)*/
{
system("PAUSE");
system("cls");
zui();/* 最值*/
};break;
case 5: /*对学生考试成绩进行排名*/
{
system("PAUSE");
system("cls");
xian();
int y;
scanf("%d",&y);
switch(y)
{
case 1:
{
system("PAUSE");
system("cls");
sort_chin();/*按语文成绩排序*/
};break;
case 2:
{
system("PAUSE");
system("cls");
sort_math();/*按数学成绩排序*/
};break;
case 3:
{
system("PAUSE");
system("cls");
sort_eng();/*按英语成绩排序*/
};break;
case 4:
{
exit(0);
};break;
default:
{
printf("输入错误:\n");
};break;
}
};break;
case 6:/*显示成绩表*/
{
system("PAUSE");/*用于输出*/
system("cls");
print();
};break;
case 7: /*学生成绩的查找*/
{
system("PAUSE");
system("cls");
search();
int a;
scanf("%d",&a);
switch(a)
{
case 1:/*按学生的姓名查询*/
{
system("PAUSE");
system("cls");
name();
};break;
case 2:/*按学生的班级查询*/
{
system("PAUSE");
system("cls");
ban();
};break;
case 3:/*按院系查询*/
{
system("PAUSE");
system("cls");
xi();
};break ;
default:
{
printf("输入错误:\n");
};break;
}
};break;
case 8:/*退出程序*/
{
exit(0);
};break;
default:
{
printf("输入错误:\n");
};break;
}
system("PAUSE");
system("cls");
}
return 0;
}
