简易成绩管理系统
偶滴作业 请多多指教
——————————————————————————————————————————————#include "stdio.h"
int a[80],n;
void input()
{
int i;
printf ("请输入学员的人数--enter确定人数--及成绩space键隔开:\n");
scanf ("%d",&n);
for (i=1;i<=n;i++)
scanf ("%d",&a[i]);
printf("--请继续");
}
void putchu(int a[])
{
int i;
for(i=1;i<=n;i++)
printf("第%d个学生=%d ",i,a[i]);
}
int total(int a[])
{
int i,sum=0,mm;
printf("重新输入请按2,否则请按1输出总分:\n");
scanf("%d",&mm);
if(mm!=2)
{
printf("输出总分:");
for(i=1;i<=n;i++)
sum=sum+a[i];
printf("%d",sum);
return sum;
}
else
input();
}
float average(int sum)
{
float ave;
printf ("输出平均值:");
ave=(float)sum/n;
printf("%f",ave);
return ave;
}
void superave(int a[],float average)
{
int p=0,i;
printf ("上平均分人数");
for(i=1;i<=n;i++)
{
if(a[i]>=average)
p=p+1;
}
printf("%d",p);
printf("\n");
}
int super(int a[])
{
int p=0,i;
printf ("及格人数");
for(i=0;i<=n;i++)
{
if(a[i]>=60)
p=p+1;
}
printf("%d",p);
printf("\n");
return p;
}
void inputrow(int a[])
{
int i,j,t;
for(j=1;j<=(n-1);j++)
for(i=1;i<=(n-j);i++)
if(a[i]>a[i+1])
{t=a[i+1];a[i+1]=a[i];a[i]=t;}
printf ("输出高分到低分");
for(i=n;i>0;i--)
printf("%d ",a[i]);
}
int max(int a[])
{
int i,t=0;
for(i=1;i<=n;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("最高分=%d ",a[i]);
return a[i];
}
void fine(int a[])
{ char grade;
int i,ach;
printf ("等级制:A为优秀-B为良好-C为中等-D为及格-E为不及格\n");
for(i=1;i<=n;i++)
{
ach=a[i]/10;
switch (ach)
{
case 10:
case 9:grade='A';break;
case 8:grade='B';break;
case 7:grade='C';break;
case 6:grade='D';break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:grade='E';break;
default: printf("error\n");
}
printf("第%d同学的成绩等级为=%c\n",i,grade);
}
}
void full(int total,float average,int max,int super)
{
printf ("总分:%d\n",total);
printf ("平均分:%6.2f\n",average);
printf ("最高分是:%d",max);
puts(" ");
printf ("及格人数:%d",super);
}
void main()
{
int run=1,ss,vbn,gg;
float tt;
system("cls");
printf(">>>>>>>>>>>>---成绩管理菜单--->>>>>>>>>>>>>>\n");
printf(">>---- ----<<\n");
printf(">>---- 软件一班工作室 (测试版) ----<<\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(">>---- 9.成绩等级制 ----<<\n");
printf(">>---- 10.全部 情 况 ----<<\n");
printf(">>---- 11.清理 屏 幕 ----<<\n");
printf(">>---- 0. 退 出 ----<<\n");
printf(">>-----*-------------*------------*-------<<\n");
while (run!=0)
{
puts(" ");
printf("按顺序输入菜单序号:");
scanf ("%d",&run);
if(run>=0&&run<12)
switch(run)
{
case 1:input();break;
case 2:putchu(a);break;
case 3:inputrow(a);break;
case 4:ss=total(a);break;
case 5:tt=average(ss);break;
case 6:superave(a,tt);break;
case 7:gg=super(a);break;
case 8:vbn=max(a);break;
case 9:fine(a);break;
case 10:full(ss,tt,vbn,gg);break;
case 11:system("cls");
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(">>---- 9.及格 人 数 ----<<\n");
printf(">>---- 10.全部 情 况 ----<<\n");
printf(">>---- 11.清理 屏 幕 ----<<\n");
printf(">>---- 0. 退 出 ----<<\n");
printf(">>-----*-------------*------------*-------<<\n");break;
}
else printf ("你的输入有误!请重新");
}
}