c语言学生成绩查询
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<stdio.h>
struct student
(
int num;
char name[20];
char sex[10];
int age;
float computer;
float math;
float English;
float sum_score;
};
int max(struct student a[]Jnt n)
(
int kJ;
float m;
m=a[0].sum_score;
k=0;
for(i=l;i<3;i++)
{
if(m<a[i].sum_score)
{
k=i;
m=a[i].sum_score;
)
}
return k;
)
void paixiul(struct student a[]Jnt n)
(
int i,j;
for(i=0;i<n-l;i++)
{
for(j=i+l;j<n-l;j++)
{
if(a[i].sum_score>a[j].sum-score)
{
a[n]=a[i];
a[i]=aUl;
aU]=a[n];
)
void paixiu2(struct student a[],int n)
(
int i,j;
for(i=0;i<n-l;i++)
{
for(j=i+l;j<n-l;j++)
{
if(a[i].computer>a[j].computer) {
a[n]=a[i];
a[i]=aUl;
aU]=a[n];
)
)
}
)
void paixiu3(struct student a[],int n)
(
int i,j;
for(i=0;i<n-l;i++)
{
for(j=i+l;j<n-l;j++)
{
if(a[i].math>a[j].math)
{
a[n]=a[i];
a[i]=aUl;
aU]=a[n];
)
)
}
)
void paixiu4(struct student a[],int n)
(
int i,j;
for(i=0;i<n-l;i++)
{
for(j=i+l;j<n-l;j++)
{
if(a[i].English>a[j].English)
{
a[n]=a[i];
a[i]=aUl;
a[j]=a[n];
)
〃学生成绩管理系统的设计与实现
〃学生信息:
〃学号num
〃姓名name
〃性别sex
〃年龄age
〃计算机成绩computer
〃数学成绩math
〃英语成绩English
〃总成绩sum_score
〃要求:
void main()
(
int i/n/mJ/t=3/a[100]={100}/k=l;
float max_sum;
struct student stu[100]={{1001;,zhangsan";'g",21,98,75,SeiJlOOZ/'lisi'V'b",20,78,63/92}/{1003;'wangwu"/"g",2 1,90,88,70}};
printf("请选择:1:输出2:求学生总分3:求总分最高分学生的基本信息4:按总分排序5:按计算机成绩排序6战数学成绩排序7:按英语成绩排序8:按学号查找某位同学9:从键盘输入某位学生
信息,插入到数组中10:从键盘输入学号,删除该学号的学生信息0:退出:\n");
scanf(“%d”,&m);
for(i=0;i<t;i++)
stu[i].sum_score=stu[i].computer+stu[i].math+stu[i].English;
while(m!=0)
{
switch(m)
{
case 1:
{
for(j=0;j<t;j++)
(
if(j!=a[k-l])
printf("%d %s %s%d %f %f %f %f\n",stu[j].num,stu[j].name z stu[j].sex,stu[j].age z stu[j].compu ter,stu[j].math z stu[j].English/stu[j].sum_score);
)
}break;
case 2:
for(j=0;j<t;j++)
if(j!=a[k-l])
printf(H%s %f\n,,/stu[j].name/stuO].sum_score);
)
}break;
case 3:
{
n=max(stu,t);
printf("%d %s %s %d %f %f %f %f\n"/stu[n].num/stu[n].name/stu[n].sex/stu[n].age/stu[n].co mputeostu[n].math/stu[n].English/stu[n].sum_score);
}break;
case 4:
{
paixiul(stu z t+l);
for(j=0;j<t;j++)
(
if(j!=a[k-l])
printf("%d %s %s%d %f %f %f %f\n",stu[j].num/stu[j].name/stu[j].sex/stu[j].age/stu[j].compu ter/stu[j].math/stu[j].English/stu[j].sum_score);
)
}break;
case 5:
{
paixiu2(stu z t+l);
for(j=0;j<t;j++)
(
if(j!=a[k-l])
printf("%d %s %s%d %f %f %f %f\n",stu[j].num/stu[j].name/stu[j].sex/stu[j].age/stu[j].compu ter/stu[j].math/stu[j].English/stu[j].sum_score);
)
}break;
case 6:
{
paixiu3(stu z t+l);
for(j=0;j<t;j++)
(
printf("%d %s %s %d %f %f %f %f\n,,/stuO].num/stu[j].name/stuO].sex/stuO].age/stu[j].compu
ter/stu[j].math/stu[j].English/stu[j].sum_score);
)
}break;
case 7:
{
paixiu4(stu,t+l);
for(j=0;j<t;j++)
(
if(j!=a[k-l])
printf("%d %s %s%d %f %f %f %f\n"/stu[j].num/stu[j].name/stu[j].sex z stu[j].age/stu[j].compu
ter/stu[j].math/stu[j].English/stu[j].sum_score);
)
}break;
case 8:
{
printf(“请输入学号\n“);
scanf("%d”,&n);
for(i=0;i<t;i++)
(
if(n==stu[i].num) break;
)
if(i!=t)
printf("%d %s %s %d %f %f %f %f\n',/stu[ij.num/stu[i].name/stu[i].sex/stu[i].age/stu[i].compu ter/stu[i].math z stu[i].English/stu[i].sum_score);
else
printf("查无此人\n");
}break;
case 9:
{
t++;
printf("请输入学生信息\n”);
scanf(H%d %s %s %d %f %f %f,,,&stu[t-l].num/stu[t-l].name/stu[t-l].sex,&stu[t-l].age/&stu[t -l].computer,&stu[t-l].math,&stu[t-l].English);
stu[t-l].sum_score=stu[t-l].computer+stu[t-l].math+stu[t-l].English;
for(j=0;j<t;j++)
(
if(stu[t-l].num!=stu[j].num)
(
for(j=0;j<t;j++)
if(j!=a[k-l])
printf("%d %s %s%d %f %f %f %f\n"/stu[j].num/stu[j].name/stu[j].sex/stu|j].age/stu[j].compu ter,stu[j].math,stu[j].English,stu[j].sum_score);
}
)
else
printf("学号重合,有误\n");break;
)
}break;
case 10:
{
printf ("请输入学号\n”);
scanf("%d",&n);
for(i=0;i<t;i++)
(
if(n==stu[i].num)
break;
)
a[k]=i;
if(a[k]!=t)
(
for(j=0;j<t;j++)
(
if(j!=a[k])
printf("%d %s %s%d %f %f %f %f\n"/stu[j].num/stu[j].name/stu[j].sex,stu|j].age/stu[j].compu ter,stu[j].math,stu[j].English,stu[j].sum_score);
)
)
else
(
printf("查无此人\n");
for(j=0;j<t;j++)
printf("%d %s %s%d %f %f %f %f\n"/stu[j].num/stu[j].name/stu[j].sex,stu|j].age/stu[j].compu ter,stu[j].math,stu[j].English,stu[j].sum_score);
)
k++;
}break;
}
printf("请选择:1:输出2:求学生总分3:求总分最高分学生的基本信息全按总分排序5:按计算机成绩排序6:按数学成绩排序7:按英语成绩排序8:按学号查找某位同学9:从键盘输入某位学生信息,插入到数组中10:从键盘输入学号,删除该学号的学生信息0:
退出:\n");
scanf("%d",&m);
}
)
〃⑴定义结构体数组,并初始化学生信息(总成绩不需要输入)
〃(2)输出学生基本信息
〃⑶求每位同学的总分
〃⑷求总分最高分学生的基本信息
〃⑸按总分排序
〃⑹按某一个科成绩排序
〃⑺按学号查找某位同学
〃⑻从键盘输入某位学生信息,插入到数组中
〃⑼从键盘输入学号,删除该学号的学生信息〃要求使用菜单完成。