Minwoo Dev.

<윤성우의 열혈 C프로그래밍> :: 22. 구조체와 사용자 정의 자료형1 문제풀이 본문

C++

<윤성우의 열혈 C프로그래밍> :: 22. 구조체와 사용자 정의 자료형1 문제풀이

itisminu 2023. 9. 10. 15:29
728x90
반응형
SMALL

문제 22-1

문자열 형태의 '종업원 이름' 과 문자열 형태의 '주민등록번호' 그리고 정수 형태의 '급여정보'를 저장할 수 있는 employee라는 이름의 구조체를 정의해보자. 그리고 나서 employee라는 이름의 구조체를 정의해보자. 그리고 나서 employee 구조체 변수를 하나 선언한 다음, 프로그램 사용자가 입력하는 정보로 이 변수를 채우자. 그리고 마지막으로 구조체 변수에 채워진 데이터를 출력해보자.

 

정답

#include<stdio.h>

struct employee
{
    char name[20];
    char perNum[20];
    int pay;
};

int main(void)
{
    struct employee person;
    printf("이름을 입력하세요 : ");
    scanf("%s",person.name);
    printf("주민등록번호를 입력하세요 : ");
    scanf("%s",person.perNum);
    printf("급여를 입력하세요 : ");
    scanf("%d",&person.pay);

    printf("이름 : %s\n",person.name);
    printf("주민등록번호 : %s\n",person.perNum);
    printf("급여 : %d\n",person.pay);

    return 0;
}

 

 

 

문제 22-2

앞서 문제 22-1에서 정의한 employee 구조체를 기반으로 길이가 3인 배열을 선언하자. 그리고 세 명의 정보를 프로그램 사용자로부터 입력받아서 배열에 저장한 다음, 배열에 저장된 데이터를 순서대로 출력하는 예제를 작성해보자.

 

정답

#include<stdio.h>

struct employee
{
    char name[20];
    char perNum[20];
    int pay;
};

int main(void)
{
    struct employee person[3];

    printf("첫번째 사람의 이름을 입력하세요 : ");
    scanf("%s",&person[0].name);
    printf("첫번째 사람의 주민등록번호를 입력하세요 : ");
    scanf("%s",&person[0].perNum);
    printf("첫번째 사람의 급여를 입력하세요 : ");
    scanf("%d",&person[0].pay);

    printf("\n");
    
    printf("두번째 사람의 이름을 입력하세요 : ");
    scanf("%s",&person[1].name);
    printf("두번째 사람의 주민등록번호를 입력하세요 : ");
    scanf("%s",&person[1].perNum);
    printf("두번째 사람의 급여를 입력하세요 : ");
    scanf("%d",&person[1].pay);
    
    printf("\n");
    
    printf("세번째 사람의 이름을 입력하세요 : ");
    scanf("%s",&person[2].name);
    printf("세번째 사람의 주민등록번호를 입력하세요 : ");
    scanf("%s",&person[2].perNum);
    printf("세번째 사람의 급여를 입력하세요 : ");
    scanf("%d",&person[2].pay);

    printf("첫 번째 사람의 정보 \n");
    printf("이름 : %s\n",person[0].name);
    printf("주민등록번호 : %s\n",person[0].perNum);
    printf("급여 : %d\n",person[0].pay);

    printf("\n");
    
    printf("두 번째 사람의 정보 \n");
    printf("이름 : %s\n",person[1].name);
    printf("주민등록번호 : %s\n",person[1].perNum);
    printf("급여 : %d\n",person[1].pay);

    printf("\n");
    
    printf("세 번째 사람의 정보 \n");
    printf("이름 : %s\n",person[2].name);
    printf("주민등록번호 : %s\n",person[2].perNum);
    printf("급여 : %d\n",person[2].pay);

    return 0;
}

내가 제일 급여 많다 ㅋㅋ 아싸

 

그냥 다 나열하는 방식으로 코드를 작성하였다. 보기 불편해도 이해하길 바란다.

 

728x90
반응형
LIST