Mitko_jos

lab9 zadaca 2

Apr 29th, 2012
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.98 KB | None | 0 0
  1. package Zad2;
  2.  
  3. import java.util.Date;
  4. import java.util.Scanner;
  5.  
  6.  
  7. abstract class Vraboten {
  8.  
  9. private String imePrezime;
  10. private String pozicija;
  11. private int osnoven_bod;
  12. private int staz;
  13.  
  14. public Vraboten(String imePrezime, String pozicija, int osnoven_bod, int staz) {
  15. this.imePrezime = imePrezime;
  16. this.pozicija = pozicija;
  17. this.osnoven_bod = osnoven_bod;
  18. this.staz = staz;
  19. }
  20.  
  21. public String getImePrezime() {
  22. return imePrezime;
  23. }
  24.  
  25. public void setImePrezime(String imePrezime) {
  26. this.imePrezime = imePrezime;
  27. }
  28.  
  29. public int getOsnoven_bod() {
  30. return osnoven_bod;
  31. }
  32.  
  33. public void setOsnoven_bod(int osnoven_bod) {
  34. this.osnoven_bod = osnoven_bod;
  35. }
  36.  
  37. public String getPozicija() {
  38. return pozicija;
  39. }
  40.  
  41. public void setPozicija(String pozicija) {
  42. this.pozicija = pozicija;
  43. }
  44.  
  45. public int getStaz() {
  46. return staz;
  47. }
  48.  
  49. public void setStaz(int staz) {
  50. this.staz = staz;
  51. }
  52. }
  53.  
  54. class OpstVraboten extends Vraboten {
  55.  
  56. private int plusCasovi;
  57.  
  58. public OpstVraboten(String imePrezime, String pozicija, int osnoven_bod, int staz, int plusCasovi) {
  59. super(imePrezime, pozicija, osnoven_bod, staz);
  60. this.plusCasovi = plusCasovi;
  61. }
  62.  
  63. public void setCasovi(int cas) {
  64. this.plusCasovi = cas;
  65. }
  66.  
  67. public int getCasovi() {
  68. return plusCasovi;
  69. }
  70.  
  71. @Override
  72. public String toString() {
  73. return super.getImePrezime();
  74. }
  75.  
  76. public double presmetajPlata() {
  77. return super.getOsnoven_bod() * 79.5 + plusCasovi * 450;
  78. }
  79. }
  80.  
  81. class DrzavenSluzbenik extends Vraboten {
  82.  
  83. private double bonus;
  84. private String organizacija;
  85. private double vrednost_bod;
  86.  
  87. public DrzavenSluzbenik(String imePrezime, String pozicija, int osnoven_bod, int staz, double bonus, String organizacija, double vrednost_bod) {
  88. super(imePrezime, pozicija, osnoven_bod, staz);
  89. this.bonus = bonus;
  90. this.organizacija = organizacija;
  91. this.vrednost_bod = vrednost_bod;
  92. }
  93.  
  94. public double getBonus() {
  95. return bonus;
  96. }
  97.  
  98. public void setBonus(double bonus) {
  99. this.bonus = bonus;
  100. }
  101.  
  102. public String getOrganizacija() {
  103. return organizacija;
  104. }
  105.  
  106. public void setOrganizacija(String organizacija) {
  107. this.organizacija = organizacija;
  108. }
  109.  
  110. public double getVrednost_bod() {
  111. return vrednost_bod;
  112. }
  113.  
  114. public void setVrednost_bod(double vrednost_bod) {
  115. this.vrednost_bod = vrednost_bod;
  116. }
  117.  
  118. @Override
  119. public String toString() {
  120. return organizacija;
  121. }
  122.  
  123. public double presmetajPlata() {
  124. return super.getOsnoven_bod() * vrednost_bod + bonus;
  125. }
  126. }
  127.  
  128. class Rakovoditel extends DrzavenSluzbenik {
  129.  
  130. private double procent_pokacuvanje;
  131. private Date data_postavuvanje;
  132.  
  133. public Rakovoditel(String imePrezime, String pozicija, int osnoven_bod, int staz, double procent_pokacuvanje, Date data_postavuvanje, double bonus, String organizacija, double vrednost_bod) {
  134. super(imePrezime, pozicija, osnoven_bod, staz, bonus, organizacija, vrednost_bod);
  135. this.procent_pokacuvanje = procent_pokacuvanje;
  136. this.data_postavuvanje = data_postavuvanje;
  137. }
  138.  
  139. public Date getData_postavuvanje() {
  140. return data_postavuvanje;
  141. }
  142.  
  143. public void setData_postavuvanje(Date data_postavuvanje) {
  144. this.data_postavuvanje = data_postavuvanje;
  145. }
  146.  
  147. public double getProcent_pokacuvanje() {
  148. return procent_pokacuvanje;
  149. }
  150.  
  151. public void setProcent_pokacuvanje(double procent_pokacuvanje) {
  152. this.procent_pokacuvanje = procent_pokacuvanje;
  153. }
  154.  
  155. @Override
  156. public double presmetajPlata() {
  157. return (super.getOsnoven_bod() * super.getVrednost_bod()) + procent_pokacuvanje * (super.getOsnoven_bod() * super.getVrednost_bod()) + super.getBonus();
  158. }
  159. }
  160.  
  161. public class Firma {
  162.  
  163. public static void main(String[] args) {
  164. int o = 0, d = 0, r = 0;
  165. OpstVraboten[] opst = new OpstVraboten[o];
  166. DrzavenSluzbenik[] drzaven = new DrzavenSluzbenik[d];
  167. Rakovoditel[] rakovoditel = new Rakovoditel[r];
  168. Scanner input = new Scanner(System.in);
  169. while (true) {
  170. int vnes = input.nextInt();
  171. if (vnes == 6) {
  172. break;
  173. }
  174.  
  175. switch (vnes) {
  176. case 1: {
  177. int tip;
  178. System.out.println("Vnesi 1,2,3: ");
  179. tip = input.nextInt();
  180. if (tip == 1) {
  181. OpstVraboten[] tmp = new OpstVraboten[o + 1];
  182. for (int i = 0; i < o; i++) {
  183. tmp[i] = opst[i];
  184. }
  185. //TUKA MOZE DA SE VNESUVAAT STVARI, ALI DA NE PRETERUEME SEA SO KOD
  186. tmp[o] = new OpstVraboten("Gele", "1", 1, 1, 1);
  187. o++;
  188. opst = new OpstVraboten[o];
  189. for (int i = 0; i < o; i++) {
  190. opst[i] = tmp[i];
  191. }
  192. }
  193. if (tip == 2) {
  194. DrzavenSluzbenik[] tmp = new DrzavenSluzbenik[d + 1];
  195. for(int i = 0; i < d; i++) {
  196. tmp[i] = drzaven[i];
  197. }
  198. //TUKA MOZE DA SE VNESUVAAT STVARI, ALI DA NE PRETERUEME SEA SO KOD
  199. tmp[d] = new DrzavenSluzbenik("Gele", "1", 1, 1, 1, "Gele", 12);
  200. d++;
  201. drzaven = new DrzavenSluzbenik[d];
  202. for(int i = 0; i < d; i++) {
  203. drzaven[i] = tmp[i];
  204. }
  205.  
  206. }
  207. if (tip == 3) {
  208. Rakovoditel[] tmp = new Rakovoditel[r + 1];
  209. for(int i = 0; i < r; i++) {
  210. tmp[i] = rakovoditel[i];
  211. }
  212. //TUKA MOZE DA SE VNESUVAAT STVARI, ALI DA NE PRETERUEME SEA SO KOD
  213. tmp[r] = new Rakovoditel("Gele", "1", 1, 1, 1, new Date(1095379201L), 1, "a", 1);
  214. r++;
  215. rakovoditel = new Rakovoditel[r];
  216. for (int i = 0; i < r; i++) {
  217. rakovoditel[i] = tmp[i];
  218. }
  219.  
  220. }
  221. }
  222. case 2: {
  223.  
  224. }
  225. case 3: {
  226. Vraboten najstar = opst[0];
  227. for (int i = 0; i < o; i++) {
  228. if (najstar.getStaz() < opst[i].getStaz()) {
  229. najstar = opst[i];
  230. }
  231. }
  232. for (int i = 0; i < d; i++) {
  233. if (najstar.getStaz() < drzaven[i].getStaz()) {
  234. najstar = drzaven[i];
  235. }
  236. }
  237. for (int i = 0; i < r; i++) {
  238. if (najstar.getStaz() < rakovoditel[i].getStaz()) {
  239. najstar = rakovoditel[i];
  240. }
  241. }
  242. }
  243. case 4: {
  244.  
  245. for (int i = 0; i < o; i++) {
  246. System.out.println(opst[i].getImePrezime()+" - "+opst[i].presmetajPlata());
  247. }
  248. for (int i = 0; i < d; i++) {
  249. System.out.println(drzaven[i].getImePrezime()+" - "+drzaven[i].presmetajPlata());
  250. }
  251. for (int i = 0; i < r; i++) {
  252. System.out.println(rakovoditel[i].getImePrezime()+" - "+rakovoditel[i].presmetajPlata());
  253. }
  254.  
  255. }
  256. case 5: {
  257.  
  258. double plata = input.nextInt();
  259. for (int i = 0; i < o; i++) {
  260. if(opst[i].presmetajPlata()>plata)
  261. System.out.println(opst[i].getImePrezime()+" - "+opst[i].presmetajPlata());
  262. }
  263. for (int i = 0; i < d; i++) {
  264. if(drzaven[i].presmetajPlata()>plata)
  265. System.out.println(drzaven[i].getImePrezime()+" - "+drzaven[i].presmetajPlata());
  266. }
  267. for (int i = 0; i < r; i++) {
  268. if(rakovoditel[i].presmetajPlata()>plata)
  269. System.out.println(rakovoditel[i].getImePrezime()+" - "+rakovoditel[i].presmetajPlata());
  270. }
  271.  
  272. }
  273.  
  274.  
  275.  
  276. }
  277.  
  278. }
  279. }
  280. }
Advertisement
Add Comment
Please, Sign In to add comment