T
TeD
Привет. Я написал функцию которая вычисляет интервал между датами, годы нормально вычисляет, а вот с месецами и днями трабла.
вот код:
вот код:
Код:
# include <stdio.h>
#include <math.h>
#include <math.h>
int year1, month1, day1,year2,month2,day2;
int date_interval (int year1,int month1,int day1,int year2,int month2,int day2) // Ðåàëèçàöèÿ ôóíêöèè
{
int year,month,day;
if(year1<0 || month1 < 0 || day1 < 0 ||year2<0 || month2 < 0 || day2 < 0 || month1 > 12 || day1 > 31 || month2 > 12 || day2>31)
{
return 0;
}
day=abs((year1*365+month1*31+ day1) - (year2*365+month2*31+day2));
year= day /365;
month= day / 31 % 31;
day = day % 7;
printf("Èíòåðâàë ìåæäó ");
if(year1*365+month1*31+ day1 > year2*365+month2*31+day2)
{
printf("%d:%d:%d è %d:%02d\n", year1, month1, day1, year2,month2,day2);
printf("ðàâíî %d:%d:%d", year,month,day);
}
else{
printf("%d:%d:%d è %d:%d %d\n", year2, month2, day2, year1,month1,day1);
printf("ðàâíî %d:%d:%d\n", year,month,day);}
return 1;
}
int _stdcall SetConsoleOutputCP(unsigned);
int main() // Òî÷êà âõîäà
{
SetConsoleOutputCP(1251);
do
{
printf("Ââåäèòå 1 äàòó â ôîðìó ãããã:ìì:ää: ");
scanf("%d %d %d", &year1, &month1, &day1);
printf("Ââåäèòå 2 ÷àñû â ôîðìàòå ÷÷:ìì:ññ: ");
scanf("%d %d %d", &year2, &month2, &day2);
}
while(date_interval(year1,month1,day1, year2, month2, day2)==0);
system("PAUSE");
return 0;
}