有关结构体的”left of '.name' must have struct/union type“
有五个学生,每个学生的数据包括学号、姓名(最长19字节)、四门课的成绩,从键盘输入五个学生的数据,并计算每个学生的平均成绩,最后显示最高平均分的学生的信息(包括学号,姓名,四门课的成绩,平均分数)。要求用结构体编程,变量数据类型的选择应适当,
程序代码:#include <stdio.h>
/* User Code Begin(考生可在本行后添加代码,例如全局变量的定义、函数原型声明等,行数不限) */
struct stud
{
int num[10];
char name[10];
double score1,score2,score3,score4;
double aver;
}stud[5];
struct stud myClass(struct stud *stud);
/* User Code End(考生添加代码结束) */
int main(void)
{
int high; /* high记录平均分最高的学生的序号,具体使用参考后面的代码 */
/* User Code Begin(考生可在本行后添加代码,行数不限) */
myClass(stud);
/* User Code End(考生添加代码结束) */
printf("\nThe Highest is %s(%d)\nscore1=%.2f score2=%.2f score3=%.2f score4=%.2f aver=%.2f\n",
myClass[high].name, myClass[high].num,
myClass[high].score1, myClass[high].score2, myClass[high].score3, myClass[high].score4, myClass[high].aver);
return 0;
}
/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,行数不限) */
struct stud myClass(struct stud *stud)
{
int i,m;
double max=0,sum=0;
printf("Please input students info:Num Name score1 score2 score3 score4\n");
for(i=0;i<5;i++,stud++)
{
printf("%d: ",i+1);
scanf("%d %s %lf %lf %lf %lf",stud->num,stud->name,&stud->score1,&stud->score2,&stud->score3,&stud->score4);
}
for(i=0;i<5;i++,stud++)
{
sum=stud->score1+stud->score2+stud->score3+stud->score4;
stud->aver=sum/5.0;
}
for(i=0;i<5;i++,stud++)
{
if(max<stud->aver)
{
max=stud->aver;
m=i;
}
}
return stud[m];
}我知道我的代码有错误,但不知道怎么改,刚学结构体,运用起来不熟,求教









