SaveText.Ru

Без имени
  1. #include "pch.h"
  2. #include <iostream>
  3. #include <locale>
  4. #include <stdlib.h>
  5. #include <iomanip>
  6. int month(int a)
  7. {
  8.                 switch (a)
  9.                 {
  10.                 case 1:
  11.                 case 4:
  12.                 case 6:
  13.                 case 9:
  14.                 case 11:
  15.                         return 30;
  16.                         break;
  17.                 case 0:
  18.                 case 3:
  19.                 case 5:
  20.                 case 7:
  21.                 case 8:
  22.                 case 10:
  23.                 case 12:
  24.                         return 31;
  25.                         break;
  26.                 case 2:
  27.                         return 28;
  28.                         break;
  29.                 }
  30. }
  31.  
  32. using namespace std;
  33. struct date
  34. {
  35.         int d;
  36.         int m;
  37.         int y;
  38. };
  39. int main()
  40. {
  41.         int monthM[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
  42.         date one, two;
  43.         setlocale(LC_ALL, "Russian");
  44.         cout << "Enter date 1 DAY MONTH YEAR:n";
  45.         cin >> one.d >> one.m >> one.y;
  46.         cout << "Enter date 2 DAY MONTH YEAR:n";
  47.         cin >> two.d >> two.m >> two.y;
  48.        
  49.         /*int days = 0;
  50.         if (two.y - one.y > 1) days = 365 * (two.y - one.y - 1);
  51.         days += (two.m - one.m) * 30;
  52.         days += two.d - one.d;*/
  53.  
  54.                 int days=0;
  55.                 days = days + (month(one.m) - one.d);
  56.                 one.m++;
  57.                 int k;
  58.                 if (two.y - one.y >0) k= (12 - one.m) + two.m +1;
  59.                 if (two.y - one.y == 0) k = two.m - one.m;
  60.                 while ((one.m <= 12)&&(k>0))
  61.                 {
  62.                         days += month(one.m);
  63.                         one.m++;
  64.                         k--;
  65.                 }
  66.                 days += two.d;
  67.                 two.m--;
  68.                 while ((two.m > 0) && (k > 0))
  69.                 {
  70.                         days += month(two.m);
  71.                         two.m--;
  72.                         k--;
  73.                 }
  74.  
  75.                 if (two.y-one.y>1) days = 365 * (two.y - one.y - 1);
  76.  
  77.                 /*if (two.y - one.y > 0)
  78.                 {
  79.                         if ((one.y%4 == 0 and one.y%100 != 0) or (one.y%400 == 0))
  80.                                 days++;
  81.                         one.y++;
  82.                         if ((one.y % 4 == 0 and one.y % 100 != 0) or (one.y % 400 == 0))
  83.                                 days++;
  84.                         while ((one.y<=two.y)&&(two.y - one.y >1))
  85.                         {
  86.                                 if ((one.y%4 == 0 and one.y%100 != 0) or (one.y%400 == 0))
  87.                                 days +=366;
  88.                                 else
  89.                                 days +=365;
  90.                                 one.y++;
  91.                         }
  92.                 }
  93.         /*while ((one.d==two.d)&&(one.m == two.m)&&(one.y== two.y))
  94.                 if (two.m == 0)
  95.                 {
  96.                         while (two.m > 0)
  97.                         {
  98.                                 while (two.d > month(two.m))
  99.                                 {
  100.                                         two.d--;
  101.                                         days++;
  102.                                 }
  103.                                 two.m--;
  104.                                 two.d = month(two.m);
  105.                         }
  106.                 }
  107.                 else
  108.                 {
  109.                         two.y--;
  110.                         two.m = 12;
  111.                 }*/
  112.         cout << "DAYS: " << days << "n";
  113.         system("pause");
  114.         return 0;
  115. }

Share with your friends:

Print