C# 学生成绩管理系统 精华版附实训报告.docx
《C# 学生成绩管理系统 精华版附实训报告.docx》由会员分享,可在线阅读,更多相关《C# 学生成绩管理系统 精华版附实训报告.docx(26页珍藏版)》请在冰豆网上搜索。
C#学生成绩管理系统精华版附实训报告
#include"stdio.h"
#include"string.h"
inti=0;
structstudent//结构体--------
{
intsnum;
charsname[10];
charsex[2];
floatscore[3];
charszy[10];
}stu[100];//定义100个成员
voidinput()//输入学生信息------
{
chara;
printf("学号是:
");
scanf("%d",&stu[i].snum);
printf("名字是:
");
scanf("%s",stu[i].sname);
printf("性别是:
");
scanf("%s",stu[i].sex);
printf("专业是:
");
scanf("%s",stu[i].szy);
printf("输入该学生英语、数学、计算机三科成绩\n");
for(intj=0;j<3;j++)
scanf("%f",&stu[i].score[j]);
getchar();
i++;
printf("c、继续输入;q、退出\n");
printf("请选择:
");
a=getchar();
getchar();
switch(a)
{
case'c':
input();//input函数的递归
break;
case'q':
break;
}
}
voidoutput()//输出学生信息------
{
printf("学号名字性别专业英语数学计算机\n");
for(intj=0;j
{
printf("%2d%10s%7s%7s%10.2f%10.2f%10.2f\n",stu[j].snum,stu[j].sname,stu[j].sex,stu[j].szy,stu[j].score[0],stu[j].score[1],stu[j].score[2]);
}
}
voidavg1()//每个学生三科成绩的平均
{
floatavg;
for(inta=0;a
{
floatsum=0;
for(intj=0;j<3;j++)
{
sum+=stu[a].score[j];
avg=sum/3;
}
printf("学号是:
%d,名字是:
%s,性别是:
%s,专业是:
%s,平均分是:
%3.2f,总分是:
%3.2f\n",stu[a].snum,stu[a].sname,stu[a].sex,stu[a].szy,avg,sum);
}
}
voidavg2()//每科全班平均分-
{
floatavg;
intj;
printf("输入:
1.英语;2.数学;3.计算机\n");
printf("请选择:
\n");
scanf("%d",&j);
getchar();
--j;
floatsum=0;
for(inta=0;a
sum+=stu[a].score[j];
avg=sum/(a);
printf("全班平均分是:
%3.2f\n",avg);
charb;
printf("c、继续输入;q、退出\n");
printf("请选择:
");
b=getchar();
getchar();
switch(b)
{
case'c':
avg2();//avg2函数的递归
break;
case'q':
break;
}
}
intchack1()//按名字查找成绩
{
charc[10];
printf("输入学生名字:
");
gets(c);
//getchar();
for(intj=0,k;j
if(strcmp(c,stu[j].sname)==0)
{
printf("学号是:
%d,名字是:
%s,性别是:
%s,专业是:
%s,成绩是:
\n",stu[j].snum,stu[j].sname,stu[j].sex,stu[j].szy);
printf("英语:
%3.2f",stu[j].score[0]);
printf("数学:
%3.2f",stu[j].score[1]);
printf("计算机:
%3.2f\n",stu[j].score[2]);
k=j;
}
returnk;
}
intchack2()//按学号查找成绩-
{
inta;
printf("输入学生学号:
");
scanf("%d",&a);
getchar();
for(intj=0,k;j
if(stu[j].snum==a)
{
printf("学号是:
%d,名字是:
%s,性别是:
%s,专业是:
%s,成绩是:
\n",stu[j].snum,stu[j].sname,stu[j].sex,stu[j].szy);
printf("英语:
%3.2f",stu[j].score[0]);
printf("数学:
%3.2f",stu[j].score[1]);
printf("计算机:
%3.2f\n",stu[j].score[2]);
k=j;
}
returnk;
}
voidchack3()//查找某一分数段的学生成绩-
{
intn,b,c;
printf("输入:
1.英语;2.数学;3.计算机\n");
printf("请选择:
\n");
scanf("%d",&n);
getchar();
--n;
printf("请输入你所查找的分数段:
");
scanf("%d~%d",&b,&c);
getchar();
if(n==0)
printf("学号名字性别专业英语\n");
if(n==1)
printf("学号名字性别专业数学\n");
if(n==2)
printf("学号名字性别专业计算机\n");
for(inta=0;a
if(stu[a].score[n]>=b&&stu[a].score[n]<=c)
{
if(n==0)
printf("%2d%7s%7s%9s%10.2f\n",stu[a].snum,stu[a].sname,stu[a].sex,stu[a].szy,stu[a].score[0]);
if(n==1)
printf("%2d%7s%7s%9s%10.2f\n",stu[a].snum,stu[a].sname,stu[a].sex,stu[a].szy,stu[a].score[1]);
if(n==2)
printf("%2d%7s%7s%9s%10.2f\n",stu[a].snum,stu[a].sname,stu[a].sex,stu[a].szy,stu[a].score[2]);
}
chard;
printf("c、继续输入;q、退出\n");
printf("请选择:
");
d=getchar();
getchar();
switch(d)
{
case'c':
chack3();//chack3函数的递归
break;
case'q':
break;
}
}
voidchack4()//按专业查找学生的成绩
{
charc[10];
printf("输入学生专业:
");
gets(c);
//getchar();
for(intj=0;j
if(strcmp(c,stu[j].szy)==0)
{
printf("学号是:
%d,名字是:
%s,性别是:
%s专业是:
%s的成绩是:
\n",stu[j].snum,stu[j].sname,stu[j].sex,stu[j].szy);
printf("英语:
%3.2f",stu[j].score[0]);
printf("数学:
%3.2f",stu[j].score[1]);
printf("计算机:
%3.2f\n",stu[j].score[2]);
}
chard;
printf("c、继续输入;q、退出\n");
printf("请选择:
");
d=getchar();
getchar();
switch(d)
{
case'c':
chack4();//chack4函数的递归
break;
case'q':
break;
}
}
voidselect()//排序-
{
intj=0,k=0,a;
structstudentt;
printf("输入:
1.英语;2.数学;3.计算机\n");
printf("请选择:
\n");
scanf("%d",&a);
getchar();
--a;
for(j=0;j
for(k=0;kif(stu[k].score[a]{
t=stu[k];
stu[k]=stu[k+1];
stu[k+1]=t;
}
for(j=0;j
printf("第%d名是%d号%s性别是%s专业是%s成绩是:
%3.2f\n",j+1,stu[j].snum,stu[j].sname,stu[j].sex,stu[j].szy,stu[j].score[a]);
chard;
printf("c、继续输入;q、退出\n");
printf("请选择:
");
d=getchar();
getchar();
switch(d)
{
case'c':
select();//select的递归
break;
case'q':
break;
}
}
voidmax()//各科中的最高分-
{
floatMax=0;
inta,j,k;
printf("输入:
1.英语;2.数学;3.计算机\n");
printf("请选择:
\n");
scanf("%d",&a);
getchar();
--a;
for(j=0;j
if(stu[j].score[a]>Max)
{
Max=stu[j].score[a];
k=j;
}
if(a==0)
printf("全班英语最低分是:
\n%d号%s同学性别是:
%s专业是:
%s%3.2f分\n",stu[k].snum,stu[k].sname,stu[k].sex,stu[k].szy,stu[k].score[a]);
if(a==1)
printf("全班数学最低分是:
\n%d号%s同学性别是:
%s专业是:
%s%3.2f分\n",stu[k].snum,stu[k].sname,stu[k].sex,stu[k].szy,stu[k].score[a]);
if(a==2)
printf("全班计算机最低分是:
\n%d号%s同学性别是:
%s专业是:
%s%3.2f分\n",stu[k].snum,stu[k].sname,stu[k].sex,stu[k].szy,stu[k].score[a]);
chard;
printf("c、继续输入;q、退出\n");
printf("请选择:
");
d=getchar();
getchar();
switch(d)
{
case'c':
max();//max函数的递归
break;
case'q':
break;
}
}
voidmin()//各科中的最低分
{
floatMin=100;
inta,j,k;
printf("输入:
1.英语;2.数学;3.计算机\n");
printf("请选择:
\n");
scanf("%d",&a);
getchar();
--a;
for(j=0;j
if(stu[j].score[a]{
Min=stu[j].score[a];
k=j;
}
if(a==0)
printf("全班英语最低分是:
\n%d号%s同学性别是:
%s专业是:
%s%3.2f分\n",stu[k].snum,stu[k].sname,stu[k].sex,stu[k].szy,stu[k].score[a]);
if(a==1)
printf("全班数学最低分是:
\n%d号%s同学性别是:
%s专业是:
%s%3.2f分\n",stu[k].snum,stu[k].sname,stu[k].sex,stu[k].szy,stu[k].score[a]);
if(a==2)
printf("全班计算机最低分是:
\n%d号%s同学性别是:
%s专业是:
%s%3.2f分\n",stu[k].snum,stu[k].sname,stu[k].sex,stu[k].szy,stu[k].score[a]);
chard;
printf("c、继续输入;q、退出\n");
printf("请选择:
");
d=getchar();
getchar();
switch(d)
{
case'c':
min();//min函数的递归
break;
case'q':
break;
}
}
voideach()//各分数段人数-
{
intw,b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n;
printf("输入:
1.英语;2.数学;3.计算机\n");
printf("请选择:
\n");
scanf("%d",&n);
getchar();
--n;
printf("90~100分的同学有:
\n");
for(inta=0;a
{
if(stu[a].score[n]>=90&&stu[a].score[n]<=100)
{
printf("%d号%s%3.2f分\n",stu[a].snum,stu[a].sname,stu[a].score[n]);
b++;
}
}
printf("100~90分的同学共有:
%d人\n",b);
printf("#############\n");
printf("80~89分的同学共有:
\n");
for(a=0;a
{
if(stu[a].score[n]>=80&&stu[a].score[n]<90)
{
printf("%d号%s%3.2f分\n",stu[a].snum,stu[a].sname,stu[a].score[n]);
c++;
}
}
printf("89~80分的同学共有:
%d人\n",c);
printf("#############\n");
printf("70~79分的同学有:
\n");
for(a=0;a
{
if(stu[a].score[n]>=70&&stu[a].score[n]<80)
{
printf("%d号%s%3.2f分\n",stu[a].snum,stu[a].sname,stu[a].score[n]);
d++;
}
}
printf("79~70分的同学共有:
%d人\n",d);
printf("#############\n");
printf("60~69分的同学有:
\n");
for(a=0;a
{
if(stu[a].score[n]>=60&&stu[a].score[n]<70)
{
printf("%d号%s%3.2f分\n",stu[a].snum,stu[a].sname,stu[a].score[n]);
e++;
}
}
printf("69~60分的同学共有:
%d人\n",e);
printf("#############\n");
printf("50~59分的同学有:
\n");
for(a=0;a
{
if(stu[a].score[n]>=50&&stu[a].score[n]<60)
{
printf("%d号%s%3.2f分\n",stu[a].snum,stu[a].sname,stu[a].score[n]);
f++;
}
}
printf("59~50分的同学共有:
%d人\n",f);
printf("#############\n");
printf("40~49分的同学有:
\n");
for(a=0;a
{
if(stu[a].score[n]>=40&&stu[a].score[n]<50)
{
printf("%d号%s%3.2f分\n",stu[a].snum,stu[a].sname,stu[a].score[n]);
g++;
}
}
printf("49~40分的同学共有:
%d人\n",g);
printf("#############\n");
printf("30~39分的同学有:
\n");
for(a=0;a
{
if(stu[a].score[n]>=30&&stu[a].score[n]<40)
{
printf("%d号%s%3.2f分\n",stu[a].snum,stu[a].sname,stu[a].score[n]);
h++;
}
}
printf("49~40分的同学共有:
%d人\n",h);
printf("#############\n");
printf("0~29分的同学有:
\n");
for(a=0;a
{
if(stu[a].score[n]>=0&&stu[a].score[n]<30)
{
printf("%d号%s%3.2f分\n",stu[a].snum,stu[a].sname,stu[a].score[n]);
j++;
}
}
printf("30分以下的同学共有:
%d人\n",j);
printf("#############\n");
floatx,y,z;
w=f+g+h+j;
x=(float)(c+b)/(b+c+d+e+f+g+h+j)*100;
y=(float)j/(b+c+d+e+f+g+h+j)*100;
z=(float)(b+c+d+e)/(b+c+d+e+f+g+h+j)*100;
printf("不合格人数有:
%d人\n",w);
printf("优生率(80分以上):
%3.2f%c\n",x,'%');
printf("差生率(30分以下):
%3.2f%c\n",y,'%');
printf("合格率(60分以上):
%3.2f%c\n",z,'%');
charo;
printf("c、继续输入;q、退出\n");
printf("请选择:
");
o=getchar();
getchar();
switch(o)
{
case'c':
each();//each函数的递归
break;
case'q':
break;
}
}
voidchange()//修改学生信息-
{
inta,b,k;
printf("输入:
1.输入你想要修改的学生的名字;2.输入你想要修改的学生的学号;\n");
printf("请选择:
");
scanf("%d",&a);
getchar();
if(a==1)
{
k=chack1();//调用chack1函数
printf("以上是你想要修改的学生的原信息!
\n");
printf("请选择你想修改学生那一项信息:
\n1.学号;2.名字;3.性别;4.专业;5.英语成绩;6.数学成绩;7.计算机成绩\n");
printf("请选择:
");
scanf("%d",&b);
getchar();
if(b==1)
{
printf("请输入新的学号:
");
scanf("%d",&stu[k].snum);
getchar();
}
if(b==2)
{
printf("请输入新的名字:
");
scanf("%s",stu[k].sname);
getchar();
}
if(b==3)
{
printf("请输入新的性别:
");
scanf("%s",&stu[k].sex);
getchar();
}
if(b==4)
{
printf("请输入新的专业:
");
scanf("%s",stu[k].szy);
getchar();
}
if(b==5)
{
printf("请输入新的英语成绩:
");
scanf("%f",&stu[k].score[0]);
getchar();
}
if(b==6)
{
printf("请输入新的数学成绩:
");
scanf("%f",&stu[k].score[1]);
getchar();
}
if(b==7)
{
printf("请输入新的计算机成绩:
");
scanf("%f",&stu[k].score[2]);
getchar();
}
printf("更改后的新信息!
\n");
printf("%2d%7s%7s%7s%10.2f%10.2f%10.2f\n",stu[k].snum,stu[k].sname,stu[k].sex,stu[k].sz