Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include "biblioteka_vrijeme.cc"
- using namespace std;
- class cpravokutnik {
- private:
- float sirina;
- float visina;
- public:
- string naziv;
- float x1;
- float y1;
- float x2;
- float y2;
- cvrijeme vrijeme;
- float povrsina() {
- sirina = x2 - x1;
- visina = y2 - y1;
- return (sirina>0 && visina>0) ? sirina*visina : -1;
- }
- bool unos() {
- vrijeme.pocetak();
- cout << "naziv: ";
- cin >> naziv;
- cout << "koordinate (x1 y1 x2 y2): ";
- cin >> x1 >> y1 >> x2 >> y2;
- vrijeme.kraj();
- cout << "vrijeme unosa: " << vrijeme.proteklo() << endl;
- return (x1>=x2 || y1>=y2);
- }
- void ispis(int b=0) {
- cout << endl << "naziv: " << naziv;
- b && (x1>=x2 || y1>=y2) ? cout << " | koordinate nisu ispravne" : cout << " | x1,y1: " << x1 << "," << y1 << " | x2,y2: " << x2 << "," << y2; //[2]
- cout << " | vrijeme unosa: " << vrijeme.proteklo() << endl;
- }
- };
- int main() {
- int x;
- int i;
- char pu;
- cpravokutnik* p = NULL;
- int br;
- int bru = 0;
- do {
- cout << endl;
- cout << "1. Dinamicka alokacija polja pravokutnika/ispis podataka o pravokutnicima" << endl;
- cout << "2. Unos podataka o pravokutnicima" << endl;
- cout << "3. Ispis podataka o svim unesenim pravokutnicima" << endl;
- cout << "9. Izlaz iz programa" << endl;
- cin >> x;
- switch(x) {
- case 1:
- if(p)
- for(cout << "broj alociranih elemenata: " << br << endl, i=0; i<bru; i++)
- p[i].ispis();
- if(p) break;
- for(cout << "broj elemenata: ", cin >> br; br<1; cin >> br)
- cout << "broj elemenata mora biti veci od nule, broj elemenata: ";
- p = new cpravokutnik[br];
- p[0].povrsina();
- break;
- case 2:
- if(!p) cout << "polje nije alocirano" << endl;
- if(!p) break;
- cout << "broj alociranih elemenata: " << br << endl;
- cout << "broj upisanih pravokutnika: " << bru << endl;
- if(bru==br) cout << "polje je puno!" << endl;
- if(bru==br) break;
- for(pu = 'd'; pu=='d' && p[bru].unos(); cin >> pu)
- cout << "ponovni unos (d/n)?: ";
- bru++;
- cout << "broj upisanih pravokutnika: " << bru << endl;
- break;
- case 3:
- if(!p) cout << "polje nije alocirano" << endl;
- else if(bru==0) cout << "polje je prazno" << endl;
- else
- for(i=0; i<bru; i++)
- p[i].ispis(1);
- }
- } while(x!=9);
- if(p) delete[] p;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement