날짜계산프로그래밍.
솔길
질문 제목 : 뭐가 잘못됐는지 모르겠는데 일수가 다르게 나옵니다도움 좀 주세요질문 내용 : #include stdio.h
int month_1(int i)
{
int a=0;
if(i==1 || i==3 || i==5 || i==7 || i==8 || i==10 || i==12) {a=31;}
else if(i==2)
{a=28; if((i%4==0&& i%100==0) || (i%400==0)) {a=29;}}
else(i==4 || i==6 || i==9 || i==11); {a=30;}
return a;
}
int year_f(int f[], int s[])
{
int year=0;
if((f[1]==s[1]&&f[2]s[2]) || (f[2]==s[2]&&f[1]s[1]) || (f[1]s[1]&&f[2]s[2])) {s[0]=s[0]-1; year=s[0]-f[0];}
else((f[1]s[1]&&f[2]==s[2]) || (f[1]s[1]&&f[2]s[2]) || (f[1]s[1]&&f[2]s[2])); {year=s[0]-f[0];}
return year;
}
int month(int f[], int s[])
{
if((f[1]==s[1]&&f[2]s[2]) || (f[2]==s[2]&&f[1]s[1]) || (f[1]s[1]&&f[2]s[2])) {s[1]=s[1]+12; printf(%달 차이 납니다\n,s[1]-f[1]);}
else((f[1]s[1]&&f[2]==s[2]) || (f[1]s[1]&&f[2]s[2]) || (f[1]s[1]&&f[2]s[2])); {return s[1]-f[1];}
}
int day(int f[], int s[])
{
int i=0;
if(s[1]f[1]&&s[2]f[2] || s[1]f[1]&&s[2]==f[2] || f[1]==s[1]&&s[2]f[2]) { return s[2]-f[2];}
else(f[1]==s[1]&&f[2]s[2] || f[1]s[1]&&f[2]s[2] || f[1]s[1]&&f[2]s[2]); {i=month_1(s[1]); s[2]=s[2]+i; printf(%일 차이 납니다\n,s[2]-f[2]); return s[2]-f[2];}
}
int allday(int f[], int s[])
{
int a,i,j,day1=0,k,b;
a=year_f(f,s);
b=allday2(f,s)+day(f,s);
for(i=1; i=a; i++)
{
for(j=1; j13; j++)
{k=month_1(j); day1=day1+k;}
}
printf(%d는 총일수 입니다\n,day1+b);
}
int allday2(int f[], int s[])
{
int i,k=0,day1=0,a=0;
for(i=f[1]; is[1]; i++)
{k=month_1(i); day1=day1+k;}
return day1;
}
main()
{
int f[3];
int s[3];
int i=0,year=0,dayy=0,month1=0;
printf(생년 월 일 : );
scanf(%d %d %d,&f[0],&f[1],&f[2]);
printf(날짜 입력 : );
scanf(%d %d %d,&s[0],&s[1],&s[2]);
year=year_f(f,s);
printf(%d년 차이가 납니다\n,year);
month1=month(f,s);
printf(%d달 차이가 납니다\n,month1);
dayy=day(f,s);
printf(%d일 차이가 납니다\n,dayy);
allday(f,s);
allday2(f,s);
}