自己第一次编写的程序!想编一个学生管理系统,有错,求助!
程序代码: #include <stdio.h>
# define N 1000
struct student
{ long num;
char name[20];
char sex;
float score[5];
}stu[N]; /*定义一个结构体数组*/
int main(void)
{
void sum(struct student); /*求学生总成绩的函数*/
void average(struct student);/*求各科平均分的函数*/
void search(struct student ); /*求出有不及格的学生成绩*/
int i=0,j=0;
printf("please input the data:\n");
for(i=0;i<N;i++)
{ printf("please input ----num----name----sex----score----\n");
scanf("%ld,%c,%c",&stu[i].num,&stu[i].name,&stu[i].sex); /*输入学生数据*/
for(j=0;j<5;j++)
scanf("%3f%3f%3f%3f%3f",stu[i].score[j]);
printf("\n");
}
for(i=0;i<N;i++)
{ printf("please output----num----name----sex----score----\n");
printf("%ld,%c,%c",stu[i].num,stu[i].name,stu[i].sex); /*输出学生数据*/
for(j=0;j<5;j++)
printf("%3f%3f%3f%3f%3f",stu[i].score[j]);
printf("\n");
}
sum( stu );
average( stu); /*函数调用*/
search(stu);
getch();
}
void sum( stu[]) /*定义求总分的函数*/
{ float sum=0.0,saverage=0.0; /*saverage为每个学生的平均分*/
int i,j;
for(i=0;i<N;i++)
{ printf("No %d",stu[i].num);
for(j=0;j<5;j++)
sum+=stu[i].score[j];
saverage=sum/5;
printf("%5f,%5f\n",sum,saverage);
printf("\n");
}
}
void average( stu[] ) /*定义求各科成绩平均分的函数*/
{ float sum=0.0,average=0.0;
int i,j;
for(j=0;j<5;j++)
{ printf("the average of %d score:"j+1);
for(i=0;i<N;i++)
sum+=stu[i].score[j];
average=sum/N;
printf("%f\n",average);
}
}
void search( stu[]) /*定义求出不及格学生的成绩的函数*/
{ int m=0;
int i,j;
for(i=0;i<N;i++)
{ for(j=0;j<5;j++)
if(stu[i].score[j]<60)
m++;
if(m)
printf("%ld,%c,%c",stu[i].num,stu[i].name,stu[i].sex);
printf("%3f%3f%3f%3f%3f\n",stu[i].score[j]); /*输出不及格学生的成绩*/
printf("\n");
}
}这是第一次独立编写程序,想实现学生管理系统的部分功能,其实我还不太会,可能这根本就不算是学生管理系统,但是还是希望各位高手帮忙解答!谢谢了,提些意见!









