구조체 2개와 typedef이용해서...
연자두
질문 제목 : 구조체 2개와 typedef이용
아래와 같이 student와 cClass 구조체를 정의하고 typedef를 이용하여, 각각 Student, CClas라는 새로운 타입을 정의하고 아래의 프로그램을 실행시켜보라. 주어진 프로그램은 입력받은 학생의 성적을 평균을 구하여 개별로 추가하는 프로그램이다.
조건:
- 함수는 main, printStudent(), calculateAll()를 사용한다.
- printStudent()는 sp가 가르키는 Student 타입의 구조체변수의 내용을 출력하는 함수이다.?xml:namespace prefix = o /?xml:namespace prefix = o /
- calculateAll()은 cp가 가르치는 CClass 구조체변수 내의 Student타입 변수들의 midterm, final, 그리고 average의 평균을 구하여 pAll이 가르키는 Student 구조체변수에 저장하는 함수이다.
질문내용: 저밑에 //정의부분을 위의 조건에 맞게 채워야하는데 잘 모르겠습니다.
ㅠㅠㅠ도와주세요 고수님들~#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 main(void)
{
CClass c2;
int i;
Student all = {all, 0, 0, 0};
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);
}
밑에는 실행결과예제입니다!!