Advertisement
DMG

Prethodni i sljedeci datum (O)

DMG
Apr 1st, 2013
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.42 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. bool prestupna (int a)
  5. {
  6.      if (((a%4==0)&&(a%100!=0))||(a%400==0))
  7.      return true;
  8.      else
  9.      return false;
  10. }
  11.  
  12. main()
  13. {
  14.       int n, d[101], m[101], g[101];
  15.      
  16.       cin >> n;
  17.      
  18.       for (int i=0; i<n; i++)
  19.           cin >> d[i] >> m[i] >> g[i];  
  20.          
  21.          
  22.       for (int i=0; i<n; i++)
  23.       {
  24.           cout << "Datum: " << d[i] << "." << m[i] << "." << g[i] << ". ";
  25.      
  26.           bool p = true;
  27.          
  28.           if (d[i]<1 || m[i]>12 || m[i]<1)
  29.           p = false;
  30.          
  31.           switch(m[i])
  32.           {
  33.                       case 1: case 3: case 5: case 8: case 7: case 10: case 12:
  34.                            if (d[i]>31)
  35.                            p = false;
  36.                            
  37.                       case 4: case 6: case 9: case 11:
  38.                            if (d[i]>30)
  39.                            p = false;
  40.                            
  41.                       case 2:
  42.                            if (prestupna(g[i])==true) { if (d[i]>29) p = false; }
  43.                            else { if(d[i]>28) p = false; }
  44.           }
  45.          
  46.           if (p==true)
  47.           {
  48.               // prethodni dan
  49.               cout << "Prethodni: ";
  50.               switch(m[i])
  51.               {
  52.                           case 12: case 5: case 7: case 10:
  53.                                if (d[i]>1)
  54.                                cout << d[i]-1 << "." << m[i] << "." << g[i] << ".";
  55.                                else
  56.                                cout << "30." << m[i]-1 << "." << g[i] << ".";
  57.                           break;
  58.                          
  59.                           case 2:
  60.                                if (d[i]>1)
  61.                                cout << d[i]-1 << "." << m[i] << "." << g[i] << ".";
  62.                                else
  63.                                cout << "31." << m[i]-1 << "." << g[i] << ".";
  64.                           break;
  65.                          
  66.                           case 4: case 6: case 9: case 11:
  67.                                if (d[i]>1)
  68.                                cout << d[i]-1 << "." << m[i] << "." << g[i] << ".";
  69.                                else
  70.                                cout << "31." << m[i]-1 << "." << g[i] << ".";
  71.                           break;
  72.                          
  73.                           case 3:
  74.                                if(d[i]>1)
  75.                                    cout << d[i]-1 << "." << m[i] << "." << g[i] << ".";
  76.                                else
  77.                                {
  78.                                    if (prestupna(g[i])==true)
  79.                                    cout << "29." << m[i]-1 << "." << g[i] << ".";
  80.                                    else
  81.                                    cout << "28." << m[i]-1 << "." << g[i] << ".";
  82.                                }
  83.                           break;
  84.              
  85.                           case 1:
  86.                                if (d[i]>1)
  87.                                cout << d[i]-1 << "." << m[i] << "." << g[i] << ".";
  88.                                else
  89.                                cout << "31.12." << g[i]-1 << ".";
  90.                           break;
  91.               }
  92.                                
  93.               // naredni dan
  94.               cout << " Naredni: ";
  95.               switch(m[i])
  96.               {
  97.                           case 1: case 3: case 5: case 7: case 8: case 10:
  98.                                if (d[i]<31)
  99.                                cout << d[i]+1 << "." << m[i] << "." << g[i] << ".";
  100.                                else
  101.                                cout << "1." << m[i]+1 << "." << g[i] << ".";
  102.                           break;
  103.                          
  104.                           case 2:
  105.                                if(prestupna(g[i])==true)
  106.                                {
  107.                                   if (d[i]<29)
  108.                                   cout << d[i]+1 << "." << m[i] << "." << g[i] << ".";
  109.                                   else
  110.                                   cout << "1." << m[i]+1 << "." << g[i] << ".";                      
  111.                                }
  112.                                else
  113.                                {
  114.                                    if (d[i]<28)
  115.                                    cout << d[i]+1 << "." << m[i] << "." << g[i] << ".";
  116.                                     else
  117.                                    cout << "1." << m[i]+1 << "." << g[i] << ".";
  118.                                }
  119.                           break;
  120.                          
  121.                           case 4: case 6: case 9: case 11:
  122.                                if (d[i]<30)
  123.                                cout << d[i]+1 << "." << m[i] << "." << g[i] << ".";
  124.                                else
  125.                                cout << "1." << m[i]+1 << "." << g[i] << ".";
  126.                           break;
  127.              
  128.                           case 12:
  129.                                if (d[i]<31)
  130.                                cout << d[i]+1 << "." << m[i] << "." << g[i] << ".";
  131.                                else
  132.                                cout << "1." << "1." << g[i]+1 << ".";
  133.                           break;
  134.               }
  135.           }
  136.           else cout << "neispravan";
  137.          
  138.           cout << endl;
  139.          
  140.       }
  141.  
  142.       system("PAUSE");      
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement