|
입력받은 점수로 학점과 학점 평균을 내는 프로그램인데요...
구조체를 다른 함수로 넘기는 것을 잘 모르겠습니다....
하다가 하다가 진도가 나가지 않아서요...마니 고쳐보았는데...
이것 저것 고치다 보니까 이제 어떻게 해야 할지 모르겠습니다...에러하고 경고
가 너무 많이 나와서...고수님들 좀금 귀찬겠지만 조금만 도움을 주시면 안될까요...
#include <stdio.h>
struct mark_rec
{
int num;
char name[20];
int mark[5];
};
void main (void)
{
int i,j,total;
struct mark_rec student[5]=
{
1,"강감찬",70,80,92,90,95,
2,"이순신",100,90,95,95,99,
3,"권율` ",80,65,79,100,95,
4,"에디슨",80,90,92,92,97,
5,"장보고",85,78,90,77,95
};
struct mark_rec mark_rec2(struct mark_rec[]);
mark_rec mark_rec2(student);
struct mark_rec2 mark_mark3(struct mark2_rec[]);
mark_rec2 mark_rec3(student);
printf("\t 국어 수학 영어 과학 실험 평점 \n");
for (i=0;i<5;i++)
{
printf("%d %s",student[i].num,student[i].name);
for(j=0;j<5;j++)
printf("%c %d",student[i].mark[j],total[i]/5);
printf("\n");
}
}
struct mark_rec mark_rec2(struct mark_rec student[5])
{
int i,j;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
if (student[i].mark[j]>=90)
{student[i].mark[j]='A';}
else if(student[i].mark[j]>=80 && student[i].mark[j]<90)
{student[i].mark[j]='B';}
else if(student[i].mark[j]>=70 && student[i].mark[j]<80)
{student[i].mark[j]='C';}
else if(student[i].mark[j]>=60 && student[i].mark[j]<70)
{student[i].mark[j]='D';}
else
{student[i].mark[j]='F';}
return(student);
}
}
struct mark_rec2 mark_rec3(struct mark_rec2 student[5])
{
int i,j;
int total[5];
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
if(student[i].mark[j]=='A')
student[i].mark[j]=4;
if else(student[i].mark[j]=='B')
student[i].mark[j]=3;
if else(student[i].mark[j]=='C')
student[i].mark[j]=2;
if else(student[i].mark[j]=='D')
student[i].mark[j]=1;
if else
student[i].mark[j]=0;
}
for(i=0;i<5;i++){
for(j=0;j<5;j++)
total[i]+=student[i].mark[j];}
return(total);
}
|