nikolas_serafini

Lista 3 - Exercício 32

Jun 14th, 2013
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.08 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.     int day,month,year,newday,newmonth,newyear,add;
  6.  
  7.     printf("Entre com a data completa :\n");
  8.     scanf("%d %d %d",&day,&month,&year);
  9.     printf("Entre com a quantidade de dias a ser somada :\n");
  10.     scanf("%d",&add);
  11.  
  12.     newmonth = month;
  13.     newday = day;
  14.     newyear = year;
  15.  
  16.     while(add>0)
  17.     {
  18.         if ((month == 4)||(month == 6)||(month == 9)||(month == 11))
  19.         {
  20.             newday = newday + add;
  21.             if (newday>30)
  22.             {
  23.                 add = newday - 30;
  24.                 newday = 0;
  25.                 newmonth++;
  26.             }
  27.             else
  28.             {
  29.                 add = 0;
  30.             }
  31.  
  32.         }
  33.         if (month == 2)
  34.         {
  35.             newday = newday + add;
  36.             if (((year%4 == 0)&&(year%100 != 0))||(year%400 == 0))
  37.             {
  38.                 if (newday>29)
  39.                 {
  40.                     add = newday - 29;
  41.                     newday = 0;
  42.                     newmonth++;
  43.                 }
  44.                 else
  45.                 {
  46.                     add = 0;
  47.                 }
  48.             }
  49.             else
  50.             {
  51.                 if (newday>28)
  52.                 {
  53.                     add = newday - 28;
  54.                     newday = 0;
  55.                     newmonth++;
  56.                 }
  57.                 else
  58.                 {
  59.                     add = 0;
  60.                 }
  61.             }
  62.         }
  63.         else
  64.         {
  65.             newday = newday + add;
  66.             if (newday>31)
  67.             {
  68.                 if (month == 12)
  69.                 {
  70.                     add = newday - 31;
  71.                     newday = 0;
  72.                     newmonth = 1;
  73.                     newyear++;
  74.                 }
  75.                 else
  76.                 {
  77.                     add = newday - 31;
  78.                     newday = 0;
  79.                     newmonth++;
  80.                 }
  81.             }
  82.             else
  83.             {
  84.                 add = 0;
  85.             }
  86.         }
  87.     }
  88.     printf("%d / %d / %d\n",newday,newmonth,newyear);
  89.     return 0;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment