Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Napraviti novi projekat konzolne aplikacije i napraviti sledeće tipove podataka:
- Struktura Odeljenje (ime, mesto)
- Klasa Radnik (ime, godište, plata, posao, odeljenje)
- Klasa Preduzeće (radnici – niz, odeljenja – niz, naziv)
- Preduzeće pri kreiranju stvara niz radnika i “ručno” popunjen niz odeljenja: uprava, dostava, projektovanje. Pri kreiranju preduzeća uneti ukupan broj radnika
- Preduzeće ima sledeće metode:
- Novi radnik – omogućava unos novog radnika na osnovu zadatih vrenosti
- Promena plate svih radnika za neki iznos u zadatom odeljenju
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace g3z2
- {
- struct Odeljenje
- {
- public string ime, mesto;
- /// <summary>
- /// Konstruktor za strukturu odeljenje
- /// Sluzi za za inicijalizaciju polja strukture
- /// </summary>
- /// <param name="i"></param>
- /// <param name="m"></param>
- public Odeljenje(string i, string m)
- {
- ime = i;
- mesto = m;
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace g3z2
- {
- class Preduzece
- {
- Radnik[] radnici; // niz objekata klase radnik
- Odeljenje[] odeljenja; // niz elemenata strukture Odeljenje
- int brojZaposlenih = 0;
- public Preduzece()
- {
- radnici = new Radnik[15]; // kreiranje niza radnika - ovde su svi clanovi niza null, dok sam niz nije null - on se kreira
- odeljenja = new Odeljenje[3]; // kreiranje niza odeljenja - strukture se odmah kreiraju, tj. nema potreba za new, iako je moguce, zbog inicijalizacije polja
- odeljenja[0].ime = "uprava";
- odeljenja[1].ime = "dostava";
- odeljenja[2] = new Odeljenje("projektovanje", "Bg");
- }
- /// <summary>
- /// Metoda koja sluzi da se u preduzece ubaci novi radnik prosledjujuci sve potrebne vrednosti
- /// Na primer u Main()-u moze da se koristi:
- /// Preduzece pr = new Preduzece();
- /// pr.NoviRadnik("Marko", "Vozac", 1989, 50000.00, odeljenje);
- /// </summary>
- /// <param name="ime"></param>
- /// <param name="posao"></param>
- /// <param name="godiste"></param>
- /// <param name="plata"></param>
- /// <param name="odeljenje"></param>
- public void NoviRadnik(string ime, string posao, int godiste,
- double plata, Odeljenje odeljenje)
- {
- if (brojZaposlenih == radnici.Length)
- return;
- Radnik r = new Radnik(ime, posao,
- godiste, plata, odeljenje);
- radnici[brojZaposlenih] = r;
- brojZaposlenih++;
- }
- /// <summary>
- /// Metoda menja platu svakom radniku iz zadatog odeljenja
- /// Mora se proci kroz celu listu radnika i proveriti da li se tekuci nalazi u zadatom odeljenju
- /// Ukoliko se nalazi, menja mu se plata za zadati iznos.
- /// Na primer u Main()-u moze da se koristi:
- /// pr.PromenaPlate(5000.00, odeljenje);
- /// </summary>
- /// <param name="iznos"></param>
- /// <param name="o"></param>
- public void PromenaPlate(double iznos, Odeljenje o)
- {
- for (int i = 0; i < brojZaposlenih; i++)
- if (radnici[i].odeljenje.ime == o.ime)
- radnici[i].plata += iznos;
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace g3z2
- {
- class Radnik
- {
- string ime, posao;
- int godiste;
- public double plata;
- public Odeljenje odeljenje;
- /// <summary>
- /// Konstruktor klase Radnik sluzi da se pri kreiranju objekta inicijalizuju vrednosti svih polja klase
- /// </summary>
- /// <param name="i"></param>
- /// <param name="po"></param>
- /// <param name="g"></param>
- /// <param name="pl"></param>
- /// <param name="o"></param>
- public Radnik(string i, string po, int g,
- double pl, Odeljenje o)
- {
- ime = i; posao = po;
- godiste = g; plata = pl;
- odeljenje = o;
- }
- }
- }
Add Comment
Please, Sign In to add comment