|
|
1鱼币
就是当我输入完学生信息时,只有姓名学号可以显示出来,学科分数都是0的?
本人新手...:handshake
#include<stdio.h>
#include <stdlib.h>
int a;
struct mark
{
float Chinese;
float Math;
float English;
}mark[100];
struct student
{
char name[10];
int number;
}student[100];
float mean(float n1,float n2,float n3)
{
float result;
result=(n1+n2+n3)/3;
return result;
}
float Average(float m1,float m2,float m3)
{
float sum=0;
float result;
sum=m1+m2+m3+sum;
result=sum/a;
return result;
}
int main()
{
int d,temp;
int sure,vren;
int j,num,ber;
int b,t1,g,k,h,i; //用于循环的数//
float sum=0;
float m,Averagel;
char choose;
printf("智洲出品\n");
again:for(b=0;b<5;b++)
{
printf("\n");
}
printf("\t----------------欢迎来到小型学生成绩管理系统---------------\n");
printf("\t- -\n");
printf("\t- 1.录入学生信息 -\n");
printf("\t- 2.查找学生信息 -\n");
printf("\t- 3.管理学生成绩 -\n");
printf("\t- 4.统计排名 -\n");
printf("\t- 5.退出系统 -\n");
printf("\t- -\n");
printf("\t-----------------------------------------------------------\n");
printf("\n");
agn:printf("\t请选择");
printf(">");
scanf("%d",&temp);
system("cls");
switch(temp)
{
case(1):
{
printf("\n");
printf("\t\t-------------------------------------------\n");
printf("\t\t- 录入学生信息 -\n");
printf("\t\t-------------------------------------------\n");
printf("\n");
printf("请输入你要管理的学生的个数>");
scanf("%d",&a);
printf("\n");
if(a<101)
{
for(i=0;i<a;i++)
{
printf("------------------------------------------------------------\n");
printf("\n");
printf("NO%d\n",i+1);
printf("姓名:");
scanf("%s",&student[i].name);
printf("学号(1--100按顺序):");
scanf("%d",&student[i].number);
printf("<<详细成绩>>\n");
printf("语文:");
scanf("%d",&mark[i].Chinese);
printf("数学:");
scanf("%d",&mark[i].Math);
printf("英语:");
scanf("%d",&mark[i].English);
printf("\n");
}
}
scanf("%c",&vren);
printf("确认输入?\n");
printf("确认后将自动返回主菜单\n");
scanf("%c",&sure);
printf("OK\n");
system("cls");
goto again;
break;
}
case(2):
{
printf("\t\t-------------------------------------------------\n");
printf("\t\t- 学生详细成绩 -\n");
printf("\t\t-------------------------------------------------\n");
printf("\n");
printf("\t----------姓名------学号-----语文---数学---英语----------\n");
for(i=0;i<a;i++)
{
printf("\t %s",student[i].name);
printf(" 00%d",student[i].number);
printf(" %d",mark[i].Chinese);
printf(" %d",mark[i].Math);
printf(" %d",mark[i].English);
printf("\n");
}
printf("\t---------------------------------------------------------\n");
printf("\n");
printf("请你输入要找的学生的个数:\n");
scanf("%d",&ber);
for(i=0;i<ber;i++)
{
printf("请你输入需要查找的学生的学号>");
scanf("%d",&num);
if(num<100)
{
for(j=0;j<100;j++)
{
if(num==student[j].number)
{
printf("\t%s\t%d\t\t%d\t%d\t%d\n",student[j].name,student[j].number,mark[j].Chinese,mark[j].Math,mark[j].English);
}
}
}
}
getchar();
printf("退出?(Y/N),退出后将自动返回主菜单.\n");
choose=getchar();
if(choose=='Y')
{
system("cls");
goto again;
}
break;
}
case(3):
{
againn:for(i=0;i<5;i++)
{
printf("\n");
}
printf("\t\t------------------------------------------\n");//
printf("\t\t- -\n");
printf("\t\t- 6.统计个人平均分 -\n");
printf("\t\t- 7.统计总平均分 -\n");
printf("\t\t- 8.计算个人总分 -\n");
printf("\t\t- 9.统计总分 -\n");
printf("\t\t- -\n");
printf("\t\t------------------------------------------\n");
printf("\n");
printf("\t\t请选择>");
scanf("%d",&d);
switch(d)
{
case(6):
{
for(t1=0;t1<a;t1++)
{
m=mean(mark[t1].Chinese,mark[t1].Math,mark[t1].English);
printf("%s三科的平均分为:%.2f\n",student[t1].name,m);
printf("\n");
}
system("cls");
goto againn;
break;
}
case(7):
{
for(g=0;g<a;g++)
{
Averagel=Average(mark[g].Chinese,mark[g].Math,mark[g].English);
}
printf("总的平均分为:%.2f\n",Average);
system("cls");
goto againn;
break;
}
case(8):
{
for(k=0;k<a;k++)
{
printf("%s的总分为:%d\n",student[k].name,mark[k].Chinese+mark[k].Math+mark[k].English);
}
system("cls");
goto againn;
break;
}
case(9):
{
for(h=0;h<a;h++)
{
sum=mark[h].Chinese+mark[h].Math+mark[h].English+sum;
}
printf("全部的总分为:%d\n",sum);
system("cls");
goto againn;
break;
}
default:
{
printf("你输入了无效的数字!请从新输入!\n");
goto againn;
}
break;
}
goto again;
break;
}
case(4):
{
goto again;
break;
}
case(5):
{
printf("已退出..\n");
goto end;
break;
}
default:
{
printf("你输入了无效的数字,请从新输入!!\n");
goto agn;
break;
}
}
end:return 0;
}
|
|