#include <stdio.h>int getTotalDates(int, int, int);int maxDayMonth[] = {31,28,31,30,31,30,31,31,30,31,30,31};int main(void){ int year, month, date, total; printf("총 일수를 알고 싶은 날짜의 년, 월, 일을 다음과 같이 입력하세요. >>\n"); while(1) { scanf("%d %d %d", &year, &month, &date); if((year==0) && (month==0) && (date==0)) { printf("정상 종료합니다.\n"); return 0; } if((month>12 && month<1) || (date<1 && date>maxDayMonth[month])) { printf("잘못 입력하셨습니다. 다시 입력하세요.\n"); } else { total = getTotalDates(year,month,date); printf("%4d년 %3d월 %3d일의 총 일수는 %7d입니다.\n", year, month, date, total); } }}int getTotalDates(int year, int month, int date){ int i,j,total=0; for(i=0;i<(year-1);i++) { if((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) maxDayMonth[1]=29; else maxDayMonth[1]=28; for(j=0;j<12;j++) { total+=maxDayMonth[j]; } } for(i=0;i<(month-1);i++) { total+=maxDayMonth[i]; } total+=date; return total;}일단 달력 짜는 프로그램 전에 1년 1월1일부터 현재까지 총일수 구하는 프로그램인데요 윤년 검사랑 입력오류 검사 if문이 작동 안하네요.. 너무 지저분하게 쓴건가요?? ㅠㅠ 프로그램상에 에러는 안뜨는데 윤년 계산이 전혀 안되네요 ㅠㅠㅠ 어떻게해야될까요 ㅠ
소스 원문 올릴게요
#include <stdio.h>
int getTotalDates(int, int, int);
int maxDayMonth[] = {31,28,31,30,31,30,31,31,30,31,30,31};
int main(void)
{
int year, month, date, total;
printf("총 일수를 알고 싶은 날짜의 년, 월, 일을 다음과 같이 입력하세요. >>\n");
while(1)
{
scanf("%d %d %d", &year, &month, &date);
if((year==0) && (month==0) && (date==0))
{
printf("정상 종료합니다.\n");
return 0;
}
if((month>12 && month<1) || (date<1 && date>maxDayMonth[month]))
{
printf("잘못 입력하셨습니다. 다시 입력하세요.\n");
}
else
{
total = getTotalDates(year,month,date);
printf("%4d년 %3d월 %3d일의 총 일수는 %7d입니다.\n", year, month, date, total);
}
}
}
int getTotalDates(int year, int month, int date)
{
int i,j,total=0;
for(i=0;i<(year-1);i++)
{
if((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0))
maxDayMonth[1]=29;
else
maxDayMonth[1]=28;
for(j=0;j<12;j++)
{
total+=maxDayMonth[j];
}
}
for(i=0;i<(month-1);i++)
{
total+=maxDayMonth[i];
}
total+=date;
return total;
}
일단 달력 짜는 프로그램 전에 1년 1월1일부터 현재까지 총일수 구하는 프로그램인데요
윤년 검사랑 입력오류 검사 if문이 작동 안하네요.. 너무 지저분하게 쓴건가요?? ㅠㅠ
프로그램상에 에러는 안뜨는데 윤년 계산이 전혀 안되네요 ㅠㅠㅠ
어떻게해야될까요 ㅠ