#include "pch.h"
#include <iostream>
#include <locale>
#include <stdlib.h>
#include <iomanip>
int month(int a)
{
switch (a)
{
case 1:
case 4:
case 6:
case 9:
case 11:
return 30;
break;
case 0:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
break;
case 2:
return 28;
break;
}
}
using namespace std;
struct date
{
int d;
int m;
int y;
};
int main()
{
int monthM[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
date one, two;
setlocale(LC_ALL, "Russian");
cout << "Enter date 1 DAY MONTH YEAR:n";
cin >> one.d >> one.m >> one.y;
cout << "Enter date 2 DAY MONTH YEAR:n";
cin >> two.d >> two.m >> two.y;
/*int days = 0;
if (two.y - one.y > 1) days = 365 * (two.y - one.y - 1);
days += (two.m - one.m) * 30;
days += two.d - one.d;*/
int days=0;
days = days + (month(one.m) - one.d);
one.m++;
int k;
if (two.y - one.y >0) k= (12 - one.m) + two.m +1;
if (two.y - one.y == 0) k = two.m - one.m;
while ((one.m <= 12)&&(k>0))
{
days += month(one.m);
one.m++;
k--;
}
days += two.d;
two.m--;
while ((two.m > 0) && (k > 0))
{
days += month(two.m);
two.m--;
k--;
}
if (two.y-one.y>1) days = 365 * (two.y - one.y - 1);
/*if (two.y - one.y > 0)
{
if ((one.y%4 == 0 and one.y%100 != 0) or (one.y%400 == 0))
days++;
one.y++;
if ((one.y % 4 == 0 and one.y % 100 != 0) or (one.y % 400 == 0))
days++;
while ((one.y<=two.y)&&(two.y - one.y >1))
{
if ((one.y%4 == 0 and one.y%100 != 0) or (one.y%400 == 0))
days +=366;
else
days +=365;
one.y++;
}
}
/*while ((one.d==two.d)&&(one.m == two.m)&&(one.y== two.y))
if (two.m == 0)
{
while (two.m > 0)
{
while (two.d > month(two.m))
{
two.d--;
days++;
}
two.m--;
two.d = month(two.m);
}
}
else
{
two.y--;
two.m = 12;
}*/
cout << "DAYS: " << days << "n";
system("pause");
return 0;
}