생년월일을 입력하면 만 나이를 계산하는 프로그램을 작성하시오. 현재의 날짜를 기준으로 하되 함수 localtime()을 이용하시오.
만 나이 = (현재 년도 - 생년) - (생일이 지났으면 0, 생일이 지나지 않았으면 1)
#include <stdio.h>
#include <time.h>
int main(void)
{
time_t curr;
struct tm *d;
curr=time(NULL);
d=localtime(&curr);
int a, b, c, age;
printf("태어난 년도를 입력하시오.>>");
scanf("%d", &a);
printf("태어난 달을 입력하시오.>>");
scanf("%d", &b);
printf("태어난 날짜를 입력하시오.>>");
scanf("%d", &c);
age = d->tm_year+1900 - a;
if (b - (d->tm_mon+1)<0)
printf("만 나이 : %d\n", age);
else if (b - (d->tm_mon+1)>0)
printf("만 나이 : %d\n", age-1);
else
{
if (c - (d->tm_mday) < 0)
printf("만 나이 : %d\n", age);
else
printf("만 나이 : %d\n", age-1);
}
return 0;
}
// 실행 결과
만 나이 = (현재 년도 - 생년) - (생일이 지났으면 0, 생일이 지나지 않았으면 1)
#include <stdio.h>
#include <time.h>
int main(void)
{
time_t curr;
struct tm *d;
curr=time(NULL);
d=localtime(&curr);
int a, b, c, age;
printf("태어난 년도를 입력하시오.>>");
scanf("%d", &a);
printf("태어난 달을 입력하시오.>>");
scanf("%d", &b);
printf("태어난 날짜를 입력하시오.>>");
scanf("%d", &c);
age = d->tm_year+1900 - a;
if (b - (d->tm_mon+1)<0)
printf("만 나이 : %d\n", age);
else if (b - (d->tm_mon+1)>0)
printf("만 나이 : %d\n", age-1);
else
{
if (c - (d->tm_mday) < 0)
printf("만 나이 : %d\n", age);
else
printf("만 나이 : %d\n", age-1);
}
return 0;
}
// 실행 결과
'공부 > c언어' 카테고리의 다른 글
[c언어] scanf()를 이용한 배열 요소의 입력 (0) | 2011.05.31 |
---|---|
[c언어] for문을 이용한 배열 요소의 출력 (0) | 2011.05.31 |
[c언어](연습문제) 복권번호를 출력하는 프로그램 (0) | 2011.05.30 |
[c언어](연습문제) 구구단 문제를 함수 rand()를 이용하여 랜덤으로 출력 (0) | 2011.05.30 |
[c언어] 0부터 1사이의 실수 난수를 출력(rand) (0) | 2011.05.25 |