Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Zadatak] Klasa poligon pomoc

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Klasa poligon pomoc

[ Pregleda: 1919 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ID411

Član broj: 233558
Poruke: 20
*.broadband.blic.net.



Profil

icon [Zadatak] Klasa poligon pomoc14.11.2009. u 12:53 - pre 175 meseci
Kreiram 2 klase: Tacka i Poligon. U klasu Poligon potrebno je unositi vrhove tipa Tacka (konstruktor), unijeti sve vrhove i ispisati sve vrhove i izracunati obim. Posto nemam mnogo iskustva sa klasama (ucim ih) potreban mi je savjet kako napraviti funkcije koje ce to realizovati.

Code:

class Tacka{
      public: 
              Tacka(double=0, double=0);
              void setX();
              void setY();
              void readTacka();
              double getX();
              double getY();
              void printTacka();
      private:
              double x,y;
};


f-je ove klase sam napravio i sve rade ali za klasu:

Code:

class Poligon{
      public:
             Poligon();
             void read();
             void print();
             double obim();
      private:
              Tacka vrh[10];
};

ne mogu da napravim nista. Moja ideja je da objekte vrh unosim kao elemente niza, ali ne mogu da ih povezem sa objektima Tacka. Moze li neko da me uputi kako da napravim read(), tj. na koji nacin da se unose vrhovi poligona.

Goran: Koristi code tagove

[Ovu poruku je menjao Goran Arandjelovic dana 14.11.2009. u 15:58 GMT+1]
 
Odgovor na temu

Goran Arandjelovic
Beograd

Član broj: 29116
Poruke: 387
*.dynamic.sbb.rs.



+9 Profil

icon Re: [Zadatak] Klasa poligon pomoc14.11.2009. u 14:53 - pre 175 meseci
Uvek idi korak po korak, raščlani problem i lako ćeš doći do rešenja...

U tvom slučaju:

- Imaš klase Tačka i Poligon (najbolje je da funkcije za unos ne budu članice tih klasa već van njih)

Code:

class Tacka
{
    public:
        Tacka(double x_arg = 0, double y_arg = 0);
        void SetX(double x_arg);
        void SetY(double y_arg);
        double GetX();
        double GetY();
    private:
        double x, y;
};

class Poligon
{
    public:
        Poligon(Tacka niz[], int broj_tacaka);
        void PostaviTacke(Tacka niz[], int broj_tacaka);
        double Obim();
    private:
        Tacka vrh[10];
        int broj_tacaka;
};

int UnesiTacke(Tacka niz[], int max_broj_tacaka)
{
    // Obavi ovde unos tacaka...
    // Maksimalno mozes da uneses max_broj_tacaka
    // Povratna vrednost moze da bude broj tacaka koji si zaista uneo

    int broj_unetih_tacaka = 0;
    double x = 0, y = 0;

    do{
        cout << "Koliko tacaka zelis da uneses: ";
        cin >> broj_unetih_tacaka;
    }while(broj_unetih_tacaka > max_broj_tacaka);

    for(int i = 0; i < broj_unetih_tacaka; ++i)
    {
        cout << "Unesi x koordinatu " << i+1 << ". tacke: ";
        cin >> x;
        cout << "Unesi y koordinatu " << i+1 << ". tacke: ";
        cin >> y;
        
        niz[i].SetX(x);
        niz[i].SetY(y);
    }

    return(broj_unetih_tacaka);
}

int main()
{
    Tacka niz_tacaka[10];
    int broj_unetih_tacaka = 0;
    Poligon p;

    broj_unetih_tacaka = UnesiTacke(niz_tacaka, 10);
    p.PostaviTacke(niz_tacaka, broj_unetih_tacaka);

    cout << "Obim poligona je: " << p.Obim() << endl;

    system("pause");
    return(0);
}


Ostalo je valjda jasno kako da napišeš... sam ćeš već da izračunaš obim i sve što ti treba za to... Naravno, klase Tacka i Poligon nisu potpune, ali sasvim dovoljne za ovaj primer.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Klasa poligon pomoc

[ Pregleda: 1919 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.