구조체 문자열을 정수로 변환 할 수 있나요?

조회수 484회
int main()
{
    void pid_sort(struct id[], int);
    void pid_print(struct id[], int);
    struct student stu[3];
    int count;
    int i;

    printf("3명의 학생 정보를 입력하시오.");

    for (i = 0; i < 3; i++)
    {
        printf("이름 : ");
        scanf_s("%s", stu[i].name, sizeof(stu[i].name));
        printf("학과 : ");
        scanf_s("%s", stu[i].subject, sizeof(stu[i].subject));
        printf("주민등록번호 : ");
        scanf_s("%s", stu[i].pid, sizeof(stu[i].pid));


        stu[i].S_Y = stu[i].pid[6];
        stu[i].year = stu[i].pid[0]*10 + stu[i].pid[1];
        stu[i].month = stu[i].pid[2]*10 + stu[i].pid[3];
        stu[i].day = stu[i].pid[4]*10 + stu[i].pid[5];


학교 과제로 학생 정보를 입력하면 맞는 출력이 나오게 해야 합니다 주민번호를 입력하면 생년월일, 윤년인지 아닌지 나타나게 해야하는데 코드를 보시다 시피 char로 받은 주민 번호를 int로 바꾸어서 xx년 xx월 xx일 이런식으로 만들려고 했습니다. 하지만 year, month, day 의 값은 아스키 코드 값으로 입력되어 있고 atoi로도 안되서 이렇게 질문을 올립니다

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 자답합니다 아스키 코드 증가한 만큼 -48 하니까 바로 되네요

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)