10. C-Programming(Structure & Array & Pointer)
10. C-Programming(Structure & Array & Pointer)
[toc]
구조체 실습
1. 구조체를 이용해 사람의 나이, 몸무게, 키를 입력받은 뒤 출력하시오.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct Person{
int age1;
int age2;
double weight1;
double weight2;
double height1;
double height2;
};
int main(void)
{
struct Person P;
printf("나이를 입력하세요.\n");
scanf("%d", &P.age1);
printf("몸무게를 입력하세요.\n");
scanf("%lf", &P.weight1);
printf("키를 입력하세요.\n");
scanf("%lf", &P.height1);
printf("나이를 입력하세요.\n");
scanf("%d", &P.age2);
printf("몸무게를 입력하세요.\n");
scanf("%lf", &P.weight2);
printf("키를 입력하세요.\n");
scanf("%lf", &P.height2);
printf("나이 %d 몸무게 %lf 키 %lf입니다.\n", P.age1, P.weight1, P.height1);
printf("나이 %d 몸무게 %lf 키 %lf입니다.\n", P.age2, P.weight2, P.height2);
return 0;
}
2. 구조체 배열을 사용해 1번과 같은 결과를 출력하시오
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
typedef struct Person{
int age;
double weight;
double height;
}Person;
int main(void)
{
Person prs[2];
for (int i = 0; i < 2; i++) {
printf("나이를 입력하세요.\n");
scanf("%d", &prs[i].age);
printf("몸무게를 입력하세요.\n");
scanf("%lf", &prs[i].weight);
printf("키를 입력하세요.\n");
scanf("%lf", &prs[i].height);
}
for (int j = 0; j < 2; j++) {
printf("나이 %d 몸무게 %lf 키 %lf입니다.\n", prs[j].age, prs[j].weight, prs[j].height);
}
return 0;
}
3. 구조체 포인터를 사용해 void aging(Person *p)를 정의하고 나이를 1살 증가시켜 출력하시오.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
typedef struct Person{
int age;
double weight;
double height;
}Person;
void aging(Person *p);
int main(void)
{
Person prs;
printf("나이를 입력하세요.\n");
scanf("%d", &prs.age);
printf("몸무게를 입력하세요.\n");
scanf("%lf", &prs.weight);
printf("키를 입력하세요.\n");
scanf("%lf", &prs.height);
printf("나이 %d 몸무게 %lf 키 %lf입니다.\n", prs.age, prs.weight, prs.height);
aging(&prs);
printf("1년이 경과했습니다.\n");
printf("나이 %d 몸무게 %lf 키 %lf입니다.\n", prs.age, prs.weight, prs.height);
return 0;
}
void aging(Person *p)
{
p->age++;
}
End