Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Napisati sledeće klase:
- GOblik - geometrijski oblik sa atributima: x, y (lokacija na ekranu) i naziv. Atributi su vidljivi samo klasama koje je nasleđuju.
- Trougao, Pravougaonik, Krug – nasleđuju GOblik i imaju metode:
- ispis – naziv, lokacija i povrsina (ToString)
- povrsina
- vratiX i vratiY
- (u konstruktoru se podešava naziv – “ručno”, a x i y kao ulazni parametri)
- Crtez: sadrži niz oblika čiji se maks. broj elemenata zadaje pri kreiranju objekta
- ima metode: DodajOblik(GOblik o) , UkupnaPovrsina() i ToString()
- Napisati odgovarajuće konstruktore za sve klase.
- Koristiti ključnu reč base
- Napisati test program koji će da kreira Crtez sa 5 geometrijskih obllika, ispiše ih i prikaže ukupnu površinu.
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace v3g2
- {
- class Crtez
- {
- private GOblik[] crtezi;
- int brSlobodnih = 0;
- public Crtez(int duzina)
- {
- crtezi = new GOblik[duzina];
- }
- public void DodajOblik(GOblik g)
- {
- if (brSlobodnih <= crtezi.Length - 1)
- {
- crtezi[brSlobodnih] = g;
- brSlobodnih++;
- }
- }
- public double UkupnaPovrsina()
- {
- double p = 0;
- for (int i = 0; i < brSlobodnih; i++)
- {
- p += crtezi[i].P();
- }
- return p;
- }
- public override string ToString()
- {
- string s = "Geometrijski oblici:\n";
- for (int i = 0; i < brSlobodnih; i++)
- {
- s += crtezi[i].ToString();
- }
- s += "\nUkupna povrsina: " + UkupnaPovrsina()+"\n";
- return s;
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace v3g2
- {
- class GOblik
- {
- protected int x,y;
- protected string naziv;
- public GOblik(int x, int y)
- {
- this.x = x;
- this.y = y;
- }
- public GOblik(int x, int y, string naziv)
- {
- this.x = x;
- this.y = y;
- this.naziv = naziv;
- }
- public virtual double P()
- { return -1; }
- public override string ToString()
- {
- return "Lokacija:{" + x + ", " + y + "}" + "\nNaziv: " + naziv + "\nPovrsina: " + P();
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace v3g2
- {
- class Program
- {
- static void Main(string[] args)
- {
- Crtez c = new Crtez(3);
- c.DodajOblik(new Trougao(2, 3, 4, 1, 22));
- c.DodajOblik(new Trougao(11, 33, 44, 11, 222));
- c.DodajOblik(new Trougao(13, 2, 6, 3, 12));
- Console.WriteLine(c.ToString());
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace v3g2
- {
- class Trougao:GOblik
- {
- int a, b, c;
- public Trougao(int a, int b, int c, int x, int y):base(x,y)
- {
- this.a = a;
- this.b = b;
- this.c = c;
- naziv = "Trougao";
- }
- public override double P()
- {
- int o = a + b + c;
- return o/2*Math.Sqrt(Math.Pow(a,2)+Math.Pow(b,2)+Math.Pow(c,2));
- }
- public int VratiX()
- {
- return x;
- }
- public int VratiY()
- {
- return y;
- }
- public override string ToString()
- {
- return base.ToString()+" Stranice:{"+a+", "+b+", "+c+"}\n";
- }
- }
- }
Add Comment
Please, Sign In to add comment