教学实践周到了,要求编一个学生成绩的管理系统。编了两天还没眉目,只好请教大神了!
题目:学生成绩的录入,包含学号,姓名,大学英语,物理,信号与信息系统,模电六个信息。要求:成绩的保存,输出,修改;能求单科平均成绩,学生个人平均成绩,总分的平均成绩。还要有排序功能(好像要按学生平均成绩排序,单科平均成绩排序)以下是我参考书上编的程序(编的乱七八糟,很多我都不知道对不对,参考一下我的要求,不一定用到)求大神重新给个完整版(我们只学了c语言,所以要求我们一定要用c来编)
#include
#include
#include
#include
#include
#define n 30
char num[n][10];
char name[n][12];
int yingyu[n];
int wuli[n];
int xinxi[n];
int modian[n];
int array[n]={0,1,2,3,4,5};
void input()
{
int a;
printf("请输入学生信息(学号,姓名,英语,物理,信号与信息系统,模电)");
for(a=0;a
{
gets(num[a]);
gets(name[a]);
scanf("%d",yingyu[a]);
scanf("%d",wuli[a]);
scanf("%d",xinxi[a]);
scanf("%d",modian[a]);
}
}
void output()
{
int a;
printf("学生成绩\n");
printf("-----------------------------------------------------------------------\n");
printf(" 序号 学号 姓名 英语 物理 信号与信息系统 模电\n");
printf("-----------------------------------------------------------------------\n");
for(a=0;a
{
printf("%5d",a+1);
printf("%12s",num[a][0]);
printf("%10s",name[a][0]);
printf("%10d",yingyu[a]);
printf("%10d",wuli[a]);
printf("%10d",xinxi[a]);
printf("%10d",modian[a]);
printf("\n");
printf("--------------------------------------------------------------------\n");
printf("按任意键结束显示……\n");
}
}
double yingyuave(int*p)
{
int a,sum=0;
double ave;
for(a=0;a
sum+=p[a];
ave=sum/n;
return ave;
}
double wuliave(int*p)
{
int a,sum=0;
double ave;
for(a=0;a
sum+=p[a];
ave=sum/n;
return ave;
}
double xinxiave(int*p)
{
int a,sum=0;
double ave;
for(a=0;a
sum+=p[a];
ave=sum/n;
return ave;
}
double modianave(int*p)
{
int a,sum=0;
double ave;
for(a=0;a
sum+=p[a];
ave=sum/n;
return ave;
}
void studentave()
{
int a,sum=0;
double ave;
for(a=0;a
{
sum=yingyu[a]+wuli[a]+xinxi[a]+modian[a];
ave=sum/4;
printf("学号 姓名 个人平均成绩",num[a][0],name[a][0],ave);
}
}
double qbave()
{
int a,sum=0;
double ave;
for(a=0;a
sum+=yingyu[a]+wuli[a]+xinxi[a]+modian[a];
ave=sum/n;
return ave;
}
int selectsort(int compkey[],int m)
{
int i,j,k,temp=0;
for(i=0;i
{
k=0;
for(j=i+1;j
if(compkey[k]
k=j;
if(k!=i)
{
temp=array[k];
array[k]=array[i];
array[i]=temp;
}
}
return 0;
}
void coursemenu()
{
int a=1;
char input[10];
while(9!=a)
{
system("cls");
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("返回上级菜单------------------9\n");
printf("*******************************\n");
printf("Enter Fun No.");
scanf("%s",input);
a=atoi(input);
switch(a)
{
case 1:
printf("全班英语平均成绩",yingyuave(yingyu));
getch();
break;
case 2:
printf("全班物理平均成绩",wuliave(wuli));
getch();
break;
case 3:
printf("全班信号与信息系统平均成绩",xinxiave(xinxi));
getch();
break;
case 4:
printf("全班模电平均成绩",modianave(modian));
getch();
break;
case 5:
printf("学生本人平均成绩",studentave());
getch();
break;
case 6:
printf("全班总分平均成绩",qbave());
getch();
break;
case 9:
printf("\n 返回\n");
a=9;
break;
default :
printf("输入错误,请再次输入!");
getch();
}
}
}
int main()
{
coursemenu();
return 0;
}