Advertisement
Guest User

nad2

a guest
Dec 19th, 2014
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.80 KB | None | 0 0
  1. #include <iostream>
  2. #include "biblioteka_vrijeme.cc"
  3. using namespace std;
  4.  
  5. class cpravokutnik {
  6.         private:
  7.                 float sirina;
  8.                 float visina;
  9.         public:
  10.                 string naziv;
  11.                 float x1;
  12.                 float y1;
  13.                 float x2;
  14.                 float y2;
  15.                 cvrijeme vrijeme;
  16.                 float povrsina() {
  17.                         sirina = x2 - x1;
  18.                         visina = y2 - y1;
  19.                         return (sirina>0 && visina>0) ? sirina*visina : -1;
  20.                 }
  21.                 bool unos() {
  22.                         vrijeme.pocetak();
  23.                         cout << "naziv: ";
  24.                         cin >> naziv;
  25.                         cout << "koordinate (x1 y1 x2 y2): ";
  26.                         cin >> x1 >> y1 >> x2 >> y2;
  27.                         vrijeme.kraj();
  28.                         cout << "vrijeme unosa: " << vrijeme.proteklo() << endl;
  29.                         return (x1>=x2 || y1>=y2);
  30.                 }
  31.                 void ispis(int b=0) {
  32.                         cout << endl << "naziv: " << naziv;
  33.                         b && (x1>=x2 || y1>=y2) ? cout << " | koordinate nisu ispravne" : cout << " | x1,y1: " << x1 << "," << y1 << " | x2,y2: " << x2 << "," << y2; //[2]
  34.                         cout << " | vrijeme unosa: " << vrijeme.proteklo() << endl;
  35.                 }
  36. };
  37. int main() {
  38.         int x;
  39.         int i;
  40.         char pu;
  41.         cpravokutnik* p = NULL;
  42.         int br;
  43.         int bru = 0;
  44.         do {
  45.                 cout << endl;
  46.                 cout << "1. Dinamicka alokacija polja pravokutnika/ispis podataka o pravokutnicima" << endl;
  47.                 cout << "2. Unos podataka o pravokutnicima" << endl;
  48.                 cout << "3. Ispis podataka o svim unesenim pravokutnicima" << endl;
  49.                 cout << "9. Izlaz iz programa" << endl;
  50.                 cin >> x;
  51.                 switch(x) {
  52.                         case 1:
  53.                                 if(p)
  54.                                         for(cout << "broj alociranih elemenata: " << br << endl, i=0; i<bru; i++)
  55.                                                 p[i].ispis();
  56.                                 if(p) break;
  57.                                 for(cout << "broj elemenata: ", cin >> br; br<1; cin >> br)
  58.                                         cout << "broj elemenata mora biti veci od nule, broj elemenata: ";
  59.                                 p = new cpravokutnik[br];
  60.                                 p[0].povrsina();
  61.                                 break;
  62.                         case 2:
  63.                                 if(!p) cout << "polje nije alocirano" << endl;
  64.                                 if(!p) break;
  65.                                 cout << "broj alociranih elemenata: " << br << endl;
  66.                                 cout << "broj upisanih pravokutnika: " << bru << endl;
  67.                                 if(bru==br) cout << "polje je puno!" << endl;
  68.                                 if(bru==br) break;
  69.                                 for(pu = 'd'; pu=='d' && p[bru].unos(); cin >> pu)
  70.                                         cout << "ponovni unos (d/n)?: ";
  71.                                 bru++;
  72.                                 cout << "broj upisanih pravokutnika: " << bru << endl;
  73.                                 break;
  74.                         case 3:
  75.                                 if(!p) cout << "polje nije alocirano" << endl;
  76.                                 else if(bru==0) cout << "polje je prazno" << endl;
  77.                                 else
  78.                                         for(i=0; i<bru; i++)
  79.                                                 p[i].ispis(1);
  80.                 }
  81.         } while(x!=9);
  82.         if(p) delete[] p;
  83.         return 0;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement