c언어 질문인데요...(구조체 일반)
샤이
질문 제목 : c언어 질문인데요...(구조체 일반)아래 내용을 voidcalculateall() 이부분을 student calculateall2(cclass *cp){~}로 수정해야함.
질문 내용 :
#include stdio.h
struct student {
char name[20];
int midterm;
int final;
int average;
};
typedef struct student student;
struct cclass {
int num;
student s[40];
};
typedef struct cclass cclass;
void printstudent(student *sp)
{
printf(%s\t, sp-name);
printf(%d\t%d\t%d\n, sp-midterm, sp-final, sp-average);
}
void calculateall(cclass *cp, student *pall) //이부분을 아래 조건 같이 바꿔야 합니다ㅠㅠ
{
int i;
int msum = 0;
int fsum = 0;
int asum = 0;
for (i = 0; i cp-num; i++)
{
msum += (cp-s[i].midterm);
fsum += (cp-s[i].final);
asum += (cp-s[i].average);
}
pall-midterm = msum / (cp-num);
pall-final = fsum / (cp-num);
pall-average = asum / (cp-num);
}
int main(void)
{
cclass c2;
int i;
student all = {all, 0, 0, 0};// c2내 student 구조체배열내의 midterm, final, average의 평균저장
printf(enter a number of student:);
scanf(%d, &c2.num);
for (i = 0; i c2.num; i++)
{
printf(enter student name: );
scanf(%s, c2.s[i].name);
printf(enter midterm and final score: );
scanf(%d %d, &(c2.s[i].midterm), &(c2.s[i].final));
}
for (i = 0; i c2.num; i++)
c2.s[i].average = (c2.s[i].midterm + c2.s[i].final) / 2;
printf(\n이름\t중간\t학기말\t평균\n);
for (i = 0; i c2.num; i++)
printstudent(&c2.s[i]);
printf(-----------------------------------------------------\n);
calculateall(&c2, &all);
printstudent(&all);
return 0;
}
// ↓이게 조건입니다.(위의 빨간부분을 이 조건으로 바꿔야 하는것입니다.)
student calculateall2(cclass *cp)
{
//main
all = calculateall2(&c2);
printall(&all);
}