일단 수준은...포인터 이전범위까지정도...이제 배우기 시작햇습니다.
과제는 아니고 수업시간에 햇던 내용인데
제가 짠걸로도 뭐 오류없이 돌아가긴 하지만 만약 scanf를 이용하여 초(sec)를 입력받는다고 한다면
저 함수를 저래 줄줄이 무한히 입력할수도 없는 노릇이고....
그렇다고 for구문으로는 아이디어가 떠오르지가 않아서 이렇게 질문드립니다 ㅠ
//* 2000년 1월 1일 0시부터 지금까지 5463453초가 지남 지금은 몇년 몇월 며칠 몇시 몇분 몇초인지 계산하는 프로그램*//
//* 91057뷴 1517시간 63일
#include <stdio.h>
void main()
{
int year,month,day,hour,min,sec;
int hour1,min1,sec1;
year = 2000;
month = 1;
sec = 5463453;
min = sec / 60; //* 91057분
hour = min / 60; //* 1517시간
day = hour / 24;//* 63일
sec1 = sec % 60;
min1 = min % 60;
hour1 = hour % 24;
printf("%d %d %d %d %d %d\n", year,month,day,hour,min,sec);
printf("%d %d %d %d %d %d\n", year,month,day,hour1,min1,sec1);
if(day <= 31) //* 1월 인경우
{
printf("현재시간은 %d년 %d월 %d일 %d시간 %d분 %d초 입니다",year,month,day,hour1,min1,sec1);
}
else if(31<day,day<=31+28) //* 2월 인경우
{
printf("현재시간은 %d년 %d월 %d일 %d시간 %d분 %d초 입니다",year,month+1,day-31,hour1,min1,sec1);
}
else if(31+28<day,day<=31+28+31) //* 3월 인경우
{
printf("현재시간은 %d년 %d월 %d일 %d시간 %d분 %d초 입니다",year,month+2,day-59,hour1,min1,sec1);
}
else if(31+28+31<day,day<=31+28+31+30)//* 4월 인경우
{
printf("현재시간은 %d년 %d월 %d일 %d시간 %d분 %d초 입니다",year,month+1,day-89,hour1,min1,sec1);
}
else if(31+28+31+30<day,day<=31+28+31+30+31) //* 5월 인경우
{
printf("현재시간은 %d년 %d월 %d일 %d시간 %d분 %d초 입니다",year,month+1,day-89-30,hour1,min1,sec1);
}
else if(31+28+31+30+31<day,day<=31+28+31+30+31+30) //* 6월 인경우
{
printf("현재시간은 %d년 %d월 %d일 %d시간 %d분 %d초 입니다",year,month+1,day-89-30-31,hour1,min1,sec1);
}
else if(31+28+31+30+31+30<day,day<=31+28+31+30+31+30+31) //* 7월 인경우
{
printf("현재시간은 %d년 %d월 %d일 %d시간 %d분 %d초 입니다",year,month+1,day-89-30-31-30,hour1,min1,sec1);
}
else if(31+28+31+30+31+30+31<day,day<=31+28+31+30+31+30+31+31) //* 8월 인경우
{
printf("현재시간은 %d년 %d월 %d일 %d시간 %d분 %d초 입니다",year,month+1,day-89-30-31-30-31,hour1,min1,sec1);
}
//* 위와같은 방법으로 계속 반복....
getchar();
}