struct student {
char name[20];
int jumsu[3];
float avg;
};
이런 구조체에서
int readstudent(struct student *sp)
{
printf("Input name : ");
gets(sp->name);
printf("intput jumsu : ");
gets(sp->jumsu)
}
이런 함수로 입력을 받을때
void main()
{
struct student s[2];
readstudent()
이런식으로 struct student s[2] 배열에 입력을 할수 있는 방법이 궁금합니다.
배열이 아닌 그냥 s 에는 한번만 입력할수 있지만.
이렇게 구조체 배열에다 입력받을수 있는 방법이 궁금합니다.
터보씨 3.1++ 윈도우 버젼입니다.
#include <stdio.h>
struct student {
char name[20];
int jumsu[3];
float avg;
};
int readstudent(struct student *sp)
{
for(int i=0;i<2;i++)
{
printf("Input name : ");
gets(sp->s[i].name);
for(int j=0;j<2;j++)
{
printf("intput jumsu : ");
gets(sp->s[i].jumsu[j]);
s[i].jumsu[3] += s[i].jumsu[j];
}
s[i].avg = s[i].jumsu[3]/3;
}
}
void main()
{
struct student s[2];
sp=s;
if(readstudent(&sp)==1)
{
for(int i=0;i<2;i++)
{
printf("NAME : %s\t",s[i].name);
for(j=0;j<3;j++)
{
printf("%d",s[i].jumsu[j]);
}
printf("\t AVG : %f \n",s[i].avg);
}
}
}
여기까지 했습니다.
|