Don't like ads? PRO users don't see any ads ;-)
Guest

лв_1

By: moni_qwerty on Feb 19th, 2012  |  syntax: Java  |  size: 8.97 KB  |  hits: 106  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. * To change this template, choose Tools | Templates
  2. * and open the template in the editor.
  3. */
  4. package Zad2;
  5.  
  6. import java.util.Date;
  7. import java.util.Scanner;
  8.  
  9. /**
  10. *
  11. * KOMPANIJA
  12. */
  13. abstract class Vraboten {
  14.  
  15. private String imePrezime;
  16. private String pozicija;
  17. private int osnoven_bod;
  18. private int staz;
  19.  
  20. public Vraboten(String imePrezime, String pozicija, int osnoven_bod, int staz) {
  21. this.imePrezime = imePrezime;
  22. this.pozicija = pozicija;
  23. this.osnoven_bod = osnoven_bod;
  24. this.staz = staz;
  25. }
  26.  
  27. public String getImePrezime() {
  28. return imePrezime;
  29. }
  30.  
  31. public void setImePrezime(String imePrezime) {
  32. this.imePrezime = imePrezime;
  33. }
  34.  
  35. public int getOsnoven_bod() {
  36. return osnoven_bod;
  37. }
  38.  
  39. public void setOsnoven_bod(int osnoven_bod) {
  40. this.osnoven_bod = osnoven_bod;
  41. }
  42.  
  43. public String getPozicija() {
  44. return pozicija;
  45. }
  46.  
  47. public void setPozicija(String pozicija) {
  48. this.pozicija = pozicija;
  49. }
  50.  
  51. public int getStaz() {
  52. return staz;
  53. }
  54.  
  55. public void setStaz(int staz) {
  56. this.staz = staz;
  57. }
  58. }
  59.  
  60. class OpstVraboten extends Vraboten {
  61.  
  62. private int plusCasovi;
  63.  
  64. public OpstVraboten(String imePrezime, String pozicija, int osnoven_bod, int staz, int plusCasovi) {
  65. super(imePrezime, pozicija, osnoven_bod, staz);
  66. this.plusCasovi = plusCasovi;
  67. }
  68.  
  69. public void setCasovi(int cas) {
  70. this.plusCasovi = cas;
  71. }
  72.  
  73. public int getCasovi() {
  74. return plusCasovi;
  75. }
  76.  
  77. @Override
  78. public String toString() {
  79. return super.getImePrezime();
  80. }
  81.  
  82. public double presmetajPlata() {
  83. return super.getOsnoven_bod() * 79.5 + plusCasovi * 450;
  84. }
  85. }
  86.  
  87. class DrzavenSluzbenik extends Vraboten {
  88.  
  89. private double bonus;
  90. private String organizacija;
  91. private double vrednost_bod;
  92.  
  93. public DrzavenSluzbenik(String imePrezime, String pozicija, int osnoven_bod, int staz, double bonus, String organizacija, double vrednost_bod) {
  94. super(imePrezime, pozicija, osnoven_bod, staz);
  95. this.bonus = bonus;
  96. this.organizacija = organizacija;
  97. this.vrednost_bod = vrednost_bod;
  98. }
  99.  
  100. public double getBonus() {
  101. return bonus;
  102. }
  103.  
  104. public void setBonus(double bonus) {
  105. this.bonus = bonus;
  106. }
  107.  
  108. public String getOrganizacija() {
  109. return organizacija;
  110. }
  111.  
  112. public void setOrganizacija(String organizacija) {
  113. this.organizacija = organizacija;
  114. }
  115.  
  116. public double getVrednost_bod() {
  117. return vrednost_bod;
  118. }
  119.  
  120. public void setVrednost_bod(double vrednost_bod) {
  121. this.vrednost_bod = vrednost_bod;
  122. }
  123.  
  124. @Override
  125. public String toString() {
  126. return organizacija;
  127. }
  128.  
  129. public double presmetajPlata() {
  130. return super.getOsnoven_bod() * vrednost_bod + bonus;
  131. }
  132. }
  133.  
  134. class Rakovoditel extends DrzavenSluzbenik {
  135.  
  136. private double procent_pokacuvanje;
  137. private Date data_postavuvanje;
  138.  
  139. public Rakovoditel(String imePrezime, String pozicija, int osnoven_bod, int staz, double procent_pokacuvanje, Date data_postavuvanje, double bonus, String organizacija, double vrednost_bod) {
  140. super(imePrezime, pozicija, osnoven_bod, staz, bonus, organizacija, vrednost_bod);
  141. this.procent_pokacuvanje = procent_pokacuvanje;
  142. this.data_postavuvanje = data_postavuvanje;
  143. }
  144.  
  145. public Date getData_postavuvanje() {
  146. return data_postavuvanje;
  147. }
  148.  
  149. public void setData_postavuvanje(Date data_postavuvanje) {
  150. this.data_postavuvanje = data_postavuvanje;
  151. }
  152.  
  153. public double getProcent_pokacuvanje() {
  154. return procent_pokacuvanje;
  155. }
  156.  
  157. public void setProcent_pokacuvanje(double procent_pokacuvanje) {
  158. this.procent_pokacuvanje = procent_pokacuvanje;
  159. }
  160.  
  161. @Override
  162. public double presmetajPlata() {
  163. return (super.getOsnoven_bod() * super.getVrednost_bod()) + procent_pokacuvanje * (super.getOsnoven_bod() * super.getVrednost_bod()) + super.getBonus();
  164. }
  165. }
  166.  
  167. public class Firma {
  168.  
  169. public static void main(String[] args) {
  170. int o = 0, d = 0, r = 0;
  171. OpstVraboten[] opst = new OpstVraboten[o];
  172. DrzavenSluzbenik[] drzaven = new DrzavenSluzbenik[d];
  173. Rakovoditel[] rakovoditel = new Rakovoditel[r];
  174. Scanner input = new Scanner(System.in);
  175. while (true) {
  176. int vnes = input.nextInt();
  177. if (vnes == 6) {
  178. break;
  179. }
  180.  
  181. switch (vnes) {
  182. case 1: {
  183. int tip;
  184. System.out.println("Vnesi 1,2,3: ");
  185. tip = input.nextInt();
  186. if (tip == 1) {
  187. OpstVraboten[] tmp = new OpstVraboten[o + 1];
  188. for (int i = 0; i < o; i++) {
  189. tmp[i] = opst[i];
  190. }
  191. //TUKA MOZE DA SE VNESUVAAT STVARI, ALI DA NE PRETERUEME SEA SO KOD
  192. tmp[o] = new OpstVraboten("Gele", "1", 1, 1, 1);
  193. o++;
  194. opst = new OpstVraboten[o];
  195. for (int i = 0; i < o; i++) {
  196. opst[i] = tmp[i];
  197. }
  198. }
  199. if (tip == 2) {
  200. DrzavenSluzbenik[] tmp = new DrzavenSluzbenik[d + 1];
  201. for(int i = 0; i < d; i++) {
  202. tmp[i] = drzaven[i];
  203. }
  204. //TUKA MOZE DA SE VNESUVAAT STVARI, ALI DA NE PRETERUEME SEA SO KOD
  205. tmp[d] = new DrzavenSluzbenik("Gele", "1", 1, 1, 1, "Gele", 12);
  206. d++;
  207. drzaven = new DrzavenSluzbenik[d];
  208. for(int i = 0; i < d; i++) {
  209. drzaven[i] = tmp[i];
  210. }
  211.  
  212. }
  213. if (tip == 3) {
  214. Rakovoditel[] tmp = new Rakovoditel[r + 1];
  215. for(int i = 0; i < r; i++) {
  216. tmp[i] = rakovoditel[i];
  217. }
  218. //TUKA MOZE DA SE VNESUVAAT STVARI, ALI DA NE PRETERUEME SEA SO KOD
  219. tmp[r] = new Rakovoditel("Gele", "1", 1, 1, 1, new Date(1095379201L), 1, "a", 1);
  220. r++;
  221. rakovoditel = new Rakovoditel[r];
  222. for (int i = 0; i < r; i++) {
  223. rakovoditel[i] = tmp[i];
  224. }
  225.  
  226. }
  227. }
  228. case 2: {
  229.  
  230. }
  231. case 3: {
  232. Vraboten najstar = opst[0];
  233. for (int i = 0; i < o; i++) {
  234. if (najstar.getStaz() < opst[i].getStaz()) {
  235. najstar = opst[i];
  236. }
  237. }
  238. for (int i = 0; i < d; i++) {
  239. if (najstar.getStaz() < drzaven[i].getStaz()) {
  240. najstar = drzaven[i];
  241. }
  242. }
  243. for (int i = 0; i < r; i++) {
  244. if (najstar.getStaz() < rakovoditel[i].getStaz()) {
  245. najstar = rakovoditel[i];
  246. }
  247. }
  248. }
  249. case 4: {
  250.  
  251. for (int i = 0; i < o; i++) {
  252. System.out.println(opst[i].getImePrezime()+" - "+opst[i].presmetajPlata());
  253. }
  254. for (int i = 0; i < d; i++) {
  255. System.out.println(drzaven[i].getImePrezime()+" - "+drzaven[i].presmetajPlata());
  256. }
  257. for (int i = 0; i < r; i++) {
  258. System.out.println(rakovoditel[i].getImePrezime()+" - "+rakovoditel[i].presmetajPlata());
  259. }
  260.  
  261. }
  262. case 5: {
  263.  
  264. double plata = input.nextInt();
  265. for (int i = 0; i < o; i++) {
  266. if(opst[i].presmetajPlata()>plata)
  267. System.out.println(opst[i].getImePrezime()+" - "+opst[i].presmetajPlata());
  268. }
  269. for (int i = 0; i < d; i++) {
  270. if(drzaven[i].presmetajPlata()>plata)
  271. System.out.println(drzaven[i].getImePrezime()+" - "+drzaven[i].presmetajPlata());
  272. }
  273. for (int i = 0; i < r; i++) {
  274. if(rakovoditel[i].presmetajPlata()>plata)
  275. System.out.println(rakovoditel[i].getImePrezime()+" - "+rakovoditel[i].presmetajPlata());
  276. }
  277.  
  278. }
  279.  
  280.  
  281.  
  282. }
  283.  
  284. }
  285. }
  286. }
  287.  
  288.  
  289. //////////////////koshnichka
  290.  
  291.  
  292. import java.util.Scanner;
  293.  
  294.  
  295. public class Kosnicka {
  296.  
  297.  
  298.     private String products[];
  299.     private double ceni[];
  300.     public Kosnicka() {
  301.         products=new String[0];
  302.         ceni=new double[0];
  303.     }
  304.     public Kosnicka(String[] products, double[] ceni) {
  305.         this.products = products;
  306.         this.ceni = ceni;
  307.     }
  308.     public String[] getProdukti() {
  309.         return products;
  310.     }
  311.     public double[] getCeni() {
  312.         return ceni;
  313.     }
  314.     public void setProdukti(String[] products) {
  315.         this.products = products;
  316.     }
  317.     public void setCeni(double[] ceni) {
  318.         this.ceni = ceni;
  319.     }
  320.      public double presmetajCena(){
  321.         int suma=0;
  322.         for(int i=0; i<products.length; i++)
  323.             suma+=ceni[i];
  324.         return suma;
  325.     }
  326.     public void sortiraj(){
  327.         for(int i=0; i<products.length-1; i++)
  328.             for(int j=i; j<products.length; j++)
  329.                 if(ceni[i]>ceni[j])
  330.                 {
  331.                 double temp=ceni[i];
  332.                 ceni[i]=ceni[j];
  333.                 ceni[j]=temp;
  334.                 String temps=products[i];
  335.                 products[i]=products[j];
  336.                 products[j]=temps;
  337.                 }
  338.     }
  339.     public void pecati(){
  340.         for(int i=0; i<products.length-1; i++)
  341.         System.out.println(products[i]+" "+ceni[i]);
  342.         System.out.println("Vkupna cena: "+presmetajCena());
  343.     }
  344.     public void dodadiProdukt(String p, double c){
  345.     String temp[]=new String[products.length+1];
  346.     double ce[]=new double[ceni.length+1];
  347.     for(int i=0; i<products.length; i++){
  348.         temp[i]=products[i];
  349.         ce[i]=ceni[i];
  350.     }
  351.     temp[products.length]=p;
  352.     ce[ceni.length]=c;
  353.     ceni=ce;
  354.     products=temp;
  355.     }
  356.     public void izbrisiProdukt(String p){
  357.         String temp[]=new String[products.length];
  358.         int brojac=0;
  359.         double temps[]=new double[ceni.length];
  360.         for(int i=0; i<products.length; i++){
  361.             if(products[i] != p){
  362.                 temp[brojac]=products[i];
  363.                 temps[brojac++]=ceni[i];
  364.             }
  365.         }
  366.         ceni=temps;
  367.         products=temp;
  368.     }
  369.    
  370.     public static void main(String []argv){
  371.         Scanner sc = new Scanner(System.in);
  372.        
  373.         Kosnicka k = new Kosnicka();
  374.         int n = sc.nextInt();
  375.         for(int i = 0;i<n;i++){
  376.             String s = sc.next();
  377.             double p = sc.nextDouble();
  378.             k.dodadiProdukt(s, p);
  379.         }
  380.         k.sortiraj();
  381.         int brisi = sc.nextInt();
  382.         k.izbrisiProdukt(k.getproducts()[brisi]);
  383.         k.pecati();
  384.     }
  385.  
  386. }