Advertisement
neogz

KLASE - kreiraj 10 datuma te unesi i ispisi ih

Nov 20th, 2014
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.09 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Datum{
  5.  
  6.     int _dan, _mjesec, _godina;
  7.  
  8. public:
  9.     Datum(int d = 1, int m = 1, int g = 2000){
  10.         postavi(d, m, g);
  11.     }
  12.     void postavi(int d, int m, int g){
  13.         int brojDana[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
  14.         if (g % 4 == 0   &&   g % 100 != 0   ||   g % 400 == 0)brojDana[1]++;
  15.         if (g < 2000 || d<1 || m < 1 || m>12 || d>brojDana[m - 1]){
  16.             cout << "NEISPRAVAN DATUM!!!" << endl;
  17.             return;
  18.         }
  19.         _dan = d; _mjesec = m; _godina = g;
  20.  
  21.     }
  22.     void ispis(){
  23.         cout << _dan << "/" << _mjesec << "/" << _godina << endl;
  24.     }
  25. };
  26.  
  27. int main(){
  28.  
  29.     // unesi 10 datuma, te ih zatim ispisati
  30.  
  31.     Datum * niz[10];
  32.     cout << "Unesi 10 datuma u formatu [dd/mm/ggg]" << endl;
  33.  
  34.     for (int i = 0; i < 10; i++){
  35.         int d, m, g;
  36.         cout << "Unesi " << i + 1 << ". datum: ";
  37.         cin >> d >> m >> g;
  38.         niz[i] = new Datum(d, m, g);
  39.  
  40.     }
  41.  
  42.     cout << "---------------------------------" << endl;
  43.  
  44.     for (int i = 0; i < 10; i++){
  45.         niz[i]->ispis();
  46.     }
  47.  
  48.     for (int i = 0; i < 10; i++)
  49.         delete niz[i];
  50.  
  51.     system("pause > null");
  52.     return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement