[c언어] 주민등록번호 입력 받아서 평균 수명 구하기 / 문자열 함수 연습 (strtok, strncpy 등)
2021. 2. 3. 11:29ㆍComputer Science/C
문자열 함수 연습을 위해 주민등록번호를 입력 받아서 평균 수명을 더한 년도를 출력하는 프로그램을 작성한다.
* 주민등록번호는 '-' 를 포함해서 정확히 입력된다고 가정한다.
* 남자의 평균 수명은 77, 여자의 평균수명은 84세로 가정한다.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
char id[15], id1[10], id2[10], gender[1];
int year, exage;
printf("주민등록번호 입력 <'-' 포함>: ");
scanf("%s", id);
strncpy(id1, id, 2);
year = atoi(id1) + 1900;
printf("당신은 %d년도 생이군요.\n", year);
strtok(id, "-");
*id2 = *strtok(NULL, "\0");
strncpy(gender, id2, 1);
if (*gender == '1') {
exage = year + 77;
printf("남자분이시군요.\n");
printf("평균 수명 77을 더하면 %d까지 산다고 계산됩니다.\n", exage);
}
else {
exage = year + 84;
printf("여자분이시군요.\n");
printf("평균 수명 84을 더하면 %d까지 산다고 계산됩니다.\n", exage);
}
return 0;
}
출력결과는 아래와 같다.

'Computer Science > C' 카테고리의 다른 글
[c언어] 파일 입출력 연습 (0) | 2021.02.03 |
---|---|
[c언어] 학생의 시험 평균 구하기 (구조체) (0) | 2021.02.03 |
[c언어] 문자열 함수 사용 연습 (fgets, isalpha, isdigit, isupper, strcpy, strcat, strlen 등) (0) | 2021.02.03 |
[c언어] 10진수를 2진수로 변환하여 출력하기 (재귀호출) (0) | 2021.02.03 |
[c언어] 2차원 배열과 포인터 (0) | 2020.12.22 |