All pastes #2126943 Raw Edit

mesx

public cpp v1 · immutable
#2126943 ·published 2012-03-11 19:58 UTC
rendered paste body
#include <stdio.h>#include <math.h>#include <iostream>using namespace std;enum tipTrokut {JK=11, JS=22, RS=33}; //JednakoKracan, JednakoStranican, RaznoStranicanclass Tocka {    public:        float x;        float y;        // defaultni konstruktor        Tocka() {            x=0;            y=0;        }        // konstruktor koji prima vrijednosti        Tocka(float a, float b) {            x=a;            y=b;        }        // konstruktor kopije        Tocka(const Tocka &t) {            x=t.x;            y=t.y;        }};class Trokut {    private:        //Tocka A;        //Tocka B;        //Tocka C;    public:        Tocka A;        Tocka B;        Tocka C;        // defaultni konstruktor se ne trazi, ali da ne pravi problem         // postavljamo točke na nulu.        Trokut() {            A.x=0; A.y=0;            B.x=0; B.y=0;            C.x=0; C.y=0;        }        Trokut(const Tocka& X, const Tocka& Y, const Tocka& Z){            A.x=X.x; A.y=X.y;            B.x=Y.x; B.y=Y.y;            C.x=Z.x; C.y=Z.y;        }        Trokut(const Trokut &T){            A.x=T.A.x; A.y=T.A.y;            B.x=T.B.x; B.y=T.B.y;            C.x=T.C.x; C.y=T.C.y;        }                    float opseg(){            float da, db, dc; // duljina stranice a...            da = sqrt((C.x - B.x)*(C.x - B.x) + (C.y - B.y)*(C.y - B.y));            db = sqrt((C.x - A.x)*(C.x - A.x) + (C.y - B.y)*(C.y - B.y));            dc = sqrt((B.x - A.x)*(B.x - A.x) + (B.y - A.y)*(B.y - A.y));            float opseg;            opseg = da+db+dc;            cout << "opseg = " << opseg << endl;            return 0;        }        float povrsina(){            cout << "unesi duljinu stranice " << endl;            float a,v,povrsina;            cin >> a;            cout << "usesi visnu " << endl;            cin >> v;            povrsina = (a*v)/2;            cout << "povrsina = " << povrsina << endl;            return 0;        }        bool presjek(const Trokut &T){ // metoda vraca DA, ukoliko se dva trokuta sijeku            // neka matematika :D            if ( A.x > T.A.x ){               cout << "trokuti se sijeku " << endl;               return 1;            }            else{            cout << "trokuti se ne sijeku " << endl;                return 0;            }        }        tipTrokut kojiTrokut(){            float da, db, dc;             tipTrokut trokutje;            cout << "racuanje duljina " << endl;            da = sqrt((C.x - B.x)*(C.x - B.x) + (C.y - B.y)*(C.y - B.y));            db = sqrt((C.x - A.x)*(C.x - A.x) + (C.y - B.y)*(C.y - B.y));            dc = sqrt((B.x - A.x)*(B.x - A.x) + (B.y - A.y)*(B.y - A.y));            if ((da == db) && (db == dc )) trokutje = JS;            if ((da =! db) && (db =! dc) && (da =! dc)) trokutje = RS;            if ((da == db) && (db =! dc) || (da == dc) && (dc =! db)) trokutje = JK;            cout << "trokut je " << trokutje << endl;            return trokutje;        }};int main(){    Tocka A(2,3);    cout << A.x << endl;    Tocka B(A);    Tocka C(A);    cout << B.y << endl;    Trokut maki;    Trokut tena(A,B,C);     cout << maki.A.x << endl;    // ovo bi radilo kad bi Tocke u definiciji klase Trokut bile public     Trokut sale(tena);     cout << sale.A.x << " " << sale.C.y << endl;     sale.opseg();     sale.povrsina();     sale.presjek(maki);     cout << sale.kojiTrokut() << endl;    return 0;}