garnettkg

Zad2 Struktura

Jan 26th, 2016
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Napraviti novi projekat konzolne aplikacije i napraviti sledeće tipove podataka:
  2. Struktura Odeljenje (ime, mesto)
  3. Klasa Radnik (ime, godište, plata, posao, odeljenje)
  4. Klasa Preduzeće (radnici – niz, odeljenja – niz, naziv)
  5. Preduzeće pri kreiranju stvara niz radnika i “ručno” popunjen niz odeljenja: uprava, dostava, projektovanje. Pri kreiranju preduzeća uneti ukupan broj radnika
  6. Preduzeće ima sledeće metode:
  7. Novi radnik – omogućava unos novog radnika na osnovu zadatih vrenosti
  8. Promena plate svih radnika za neki iznos u zadatom odeljenju
  9.  
  10.  
  11.  
  12. using System;
  13. using System.Collections.Generic;
  14. using System.Linq;
  15. using System.Text;
  16.  
  17. namespace g3z2
  18. {
  19. struct Odeljenje
  20. {
  21. public string ime, mesto;
  22.  
  23. /// <summary>
  24. /// Konstruktor za strukturu odeljenje
  25. /// Sluzi za za inicijalizaciju polja strukture
  26. /// </summary>
  27. /// <param name="i"></param>
  28. /// <param name="m"></param>
  29. public Odeljenje(string i, string m)
  30. {
  31. ime = i;
  32. mesto = m;
  33. }
  34. }
  35. }
  36.  
  37.  
  38.  
  39.  
  40. using System;
  41. using System.Collections.Generic;
  42. using System.Linq;
  43. using System.Text;
  44.  
  45. namespace g3z2
  46. {
  47. class Preduzece
  48. {
  49. Radnik[] radnici; // niz objekata klase radnik
  50. Odeljenje[] odeljenja; // niz elemenata strukture Odeljenje
  51. int brojZaposlenih = 0;
  52.  
  53. public Preduzece()
  54. {
  55. radnici = new Radnik[15]; // kreiranje niza radnika - ovde su svi clanovi niza null, dok sam niz nije null - on se kreira
  56. odeljenja = new Odeljenje[3]; // kreiranje niza odeljenja - strukture se odmah kreiraju, tj. nema potreba za new, iako je moguce, zbog inicijalizacije polja
  57. odeljenja[0].ime = "uprava";
  58. odeljenja[1].ime = "dostava";
  59. odeljenja[2] = new Odeljenje("projektovanje", "Bg");
  60. }
  61.  
  62. /// <summary>
  63. /// Metoda koja sluzi da se u preduzece ubaci novi radnik prosledjujuci sve potrebne vrednosti
  64. /// Na primer u Main()-u moze da se koristi:
  65. /// Preduzece pr = new Preduzece();
  66. /// pr.NoviRadnik("Marko", "Vozac", 1989, 50000.00, odeljenje);
  67. /// </summary>
  68. /// <param name="ime"></param>
  69. /// <param name="posao"></param>
  70. /// <param name="godiste"></param>
  71. /// <param name="plata"></param>
  72. /// <param name="odeljenje"></param>
  73. public void NoviRadnik(string ime, string posao, int godiste,
  74. double plata, Odeljenje odeljenje)
  75. {
  76. if (brojZaposlenih == radnici.Length)
  77. return;
  78. Radnik r = new Radnik(ime, posao,
  79. godiste, plata, odeljenje);
  80.  
  81. radnici[brojZaposlenih] = r;
  82. brojZaposlenih++;
  83. }
  84.  
  85. /// <summary>
  86. /// Metoda menja platu svakom radniku iz zadatog odeljenja
  87. /// Mora se proci kroz celu listu radnika i proveriti da li se tekuci nalazi u zadatom odeljenju
  88. /// Ukoliko se nalazi, menja mu se plata za zadati iznos.
  89. /// Na primer u Main()-u moze da se koristi:
  90. /// pr.PromenaPlate(5000.00, odeljenje);
  91. /// </summary>
  92. /// <param name="iznos"></param>
  93. /// <param name="o"></param>
  94. public void PromenaPlate(double iznos, Odeljenje o)
  95. {
  96. for (int i = 0; i < brojZaposlenih; i++)
  97. if (radnici[i].odeljenje.ime == o.ime)
  98. radnici[i].plata += iznos;
  99. }
  100. }
  101. }
  102.  
  103.  
  104.  
  105. using System;
  106. using System.Collections.Generic;
  107. using System.Linq;
  108. using System.Text;
  109.  
  110. namespace g3z2
  111. {
  112. class Radnik
  113. {
  114. string ime, posao;
  115. int godiste;
  116. public double plata;
  117. public Odeljenje odeljenje;
  118.  
  119. /// <summary>
  120. /// Konstruktor klase Radnik sluzi da se pri kreiranju objekta inicijalizuju vrednosti svih polja klase
  121. /// </summary>
  122. /// <param name="i"></param>
  123. /// <param name="po"></param>
  124. /// <param name="g"></param>
  125. /// <param name="pl"></param>
  126. /// <param name="o"></param>
  127. public Radnik(string i, string po, int g,
  128. double pl, Odeljenje o)
  129. {
  130. ime = i; posao = po;
  131. godiste = g; plata = pl;
  132. odeljenje = o;
  133. }
  134. }
  135. }
Add Comment
Please, Sign In to add comment