* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Zad2;
import java.util.Date;
import java.util.Scanner;
/**
*
* KOMPANIJA
*/
abstract class Vraboten {
private String imePrezime;
private String pozicija;
private int osnoven_bod;
private int staz;
public Vraboten(String imePrezime, String pozicija, int osnoven_bod, int staz) {
this.imePrezime = imePrezime;
this.pozicija = pozicija;
this.osnoven_bod = osnoven_bod;
this.staz = staz;
}
public String getImePrezime() {
return imePrezime;
}
public void setImePrezime(String imePrezime) {
this.imePrezime = imePrezime;
}
public int getOsnoven_bod() {
return osnoven_bod;
}
public void setOsnoven_bod(int osnoven_bod) {
this.osnoven_bod = osnoven_bod;
}
public String getPozicija() {
return pozicija;
}
public void setPozicija(String pozicija) {
this.pozicija = pozicija;
}
public int getStaz() {
return staz;
}
public void setStaz(int staz) {
this.staz = staz;
}
}
class OpstVraboten extends Vraboten {
private int plusCasovi;
public OpstVraboten(String imePrezime, String pozicija, int osnoven_bod, int staz, int plusCasovi) {
super(imePrezime, pozicija, osnoven_bod, staz);
this.plusCasovi = plusCasovi;
}
public void setCasovi(int cas) {
this.plusCasovi = cas;
}
public int getCasovi() {
return plusCasovi;
}
@Override
public String toString() {
return super.getImePrezime();
}
public double presmetajPlata() {
return super.getOsnoven_bod() * 79.5 + plusCasovi * 450;
}
}
class DrzavenSluzbenik extends Vraboten {
private double bonus;
private String organizacija;
private double vrednost_bod;
public DrzavenSluzbenik(String imePrezime, String pozicija, int osnoven_bod, int staz, double bonus, String organizacija, double vrednost_bod) {
super(imePrezime, pozicija, osnoven_bod, staz);
this.bonus = bonus;
this.organizacija = organizacija;
this.vrednost_bod = vrednost_bod;
}
public double getBonus() {
return bonus;
}
public void setBonus(double bonus) {
this.bonus = bonus;
}
public String getOrganizacija() {
return organizacija;
}
public void setOrganizacija(String organizacija) {
this.organizacija = organizacija;
}
public double getVrednost_bod() {
return vrednost_bod;
}
public void setVrednost_bod(double vrednost_bod) {
this.vrednost_bod = vrednost_bod;
}
@Override
public String toString() {
return organizacija;
}
public double presmetajPlata() {
return super.getOsnoven_bod() * vrednost_bod + bonus;
}
}
class Rakovoditel extends DrzavenSluzbenik {
private double procent_pokacuvanje;
private Date data_postavuvanje;
public Rakovoditel(String imePrezime, String pozicija, int osnoven_bod, int staz, double procent_pokacuvanje, Date data_postavuvanje, double bonus, String organizacija, double vrednost_bod) {
super(imePrezime, pozicija, osnoven_bod, staz, bonus, organizacija, vrednost_bod);
this.procent_pokacuvanje = procent_pokacuvanje;
this.data_postavuvanje = data_postavuvanje;
}
public Date getData_postavuvanje() {
return data_postavuvanje;
}
public void setData_postavuvanje(Date data_postavuvanje) {
this.data_postavuvanje = data_postavuvanje;
}
public double getProcent_pokacuvanje() {
return procent_pokacuvanje;
}
public void setProcent_pokacuvanje(double procent_pokacuvanje) {
this.procent_pokacuvanje = procent_pokacuvanje;
}
@Override
public double presmetajPlata() {
return (super.getOsnoven_bod() * super.getVrednost_bod()) + procent_pokacuvanje * (super.getOsnoven_bod() * super.getVrednost_bod()) + super.getBonus();
}
}
public class Firma {
public static void main(String[] args) {
int o = 0, d = 0, r = 0;
OpstVraboten[] opst = new OpstVraboten[o];
DrzavenSluzbenik[] drzaven = new DrzavenSluzbenik[d];
Rakovoditel[] rakovoditel = new Rakovoditel[r];
Scanner input = new Scanner(System.in);
while (true) {
int vnes = input.nextInt();
if (vnes == 6) {
break;
}
switch (vnes) {
case 1: {
int tip;
System.out.println("Vnesi 1,2,3: ");
tip = input.nextInt();
if (tip == 1) {
OpstVraboten[] tmp = new OpstVraboten[o + 1];
for (int i = 0; i < o; i++) {
tmp[i] = opst[i];
}
//TUKA MOZE DA SE VNESUVAAT STVARI, ALI DA NE PRETERUEME SEA SO KOD
tmp[o] = new OpstVraboten("Gele", "1", 1, 1, 1);
o++;
opst = new OpstVraboten[o];
for (int i = 0; i < o; i++) {
opst[i] = tmp[i];
}
}
if (tip == 2) {
DrzavenSluzbenik[] tmp = new DrzavenSluzbenik[d + 1];
for(int i = 0; i < d; i++) {
tmp[i] = drzaven[i];
}
//TUKA MOZE DA SE VNESUVAAT STVARI, ALI DA NE PRETERUEME SEA SO KOD
tmp[d] = new DrzavenSluzbenik("Gele", "1", 1, 1, 1, "Gele", 12);
d++;
drzaven = new DrzavenSluzbenik[d];
for(int i = 0; i < d; i++) {
drzaven[i] = tmp[i];
}
}
if (tip == 3) {
Rakovoditel[] tmp = new Rakovoditel[r + 1];
for(int i = 0; i < r; i++) {
tmp[i] = rakovoditel[i];
}
//TUKA MOZE DA SE VNESUVAAT STVARI, ALI DA NE PRETERUEME SEA SO KOD
tmp[r] = new Rakovoditel("Gele", "1", 1, 1, 1, new Date(1095379201L), 1, "a", 1);
r++;
rakovoditel = new Rakovoditel[r];
for (int i = 0; i < r; i++) {
rakovoditel[i] = tmp[i];
}
}
}
case 2: {
}
case 3: {
Vraboten najstar = opst[0];
for (int i = 0; i < o; i++) {
if (najstar.getStaz() < opst[i].getStaz()) {
najstar = opst[i];
}
}
for (int i = 0; i < d; i++) {
if (najstar.getStaz() < drzaven[i].getStaz()) {
najstar = drzaven[i];
}
}
for (int i = 0; i < r; i++) {
if (najstar.getStaz() < rakovoditel[i].getStaz()) {
najstar = rakovoditel[i];
}
}
}
case 4: {
for (int i = 0; i < o; i++) {
System.out.println(opst[i].getImePrezime()+" - "+opst[i].presmetajPlata());
}
for (int i = 0; i < d; i++) {
System.out.println(drzaven[i].getImePrezime()+" - "+drzaven[i].presmetajPlata());
}
for (int i = 0; i < r; i++) {
System.out.println(rakovoditel[i].getImePrezime()+" - "+rakovoditel[i].presmetajPlata());
}
}
case 5: {
double plata = input.nextInt();
for (int i = 0; i < o; i++) {
if(opst[i].presmetajPlata()>plata)
System.out.println(opst[i].getImePrezime()+" - "+opst[i].presmetajPlata());
}
for (int i = 0; i < d; i++) {
if(drzaven[i].presmetajPlata()>plata)
System.out.println(drzaven[i].getImePrezime()+" - "+drzaven[i].presmetajPlata());
}
for (int i = 0; i < r; i++) {
if(rakovoditel[i].presmetajPlata()>plata)
System.out.println(rakovoditel[i].getImePrezime()+" - "+rakovoditel[i].presmetajPlata());
}
}
}
}
}
}
//////////////////koshnichka
import java.util.Scanner;
public class Kosnicka {
private String products[];
private double ceni[];
public Kosnicka() {
products=new String[0];
ceni=new double[0];
}
public Kosnicka(String[] products, double[] ceni) {
this.products = products;
this.ceni = ceni;
}
public String[] getProdukti() {
return products;
}
public double[] getCeni() {
return ceni;
}
public void setProdukti(String[] products) {
this.products = products;
}
public void setCeni(double[] ceni) {
this.ceni = ceni;
}
public double presmetajCena(){
int suma=0;
for(int i=0; i<products.length; i++)
suma+=ceni[i];
return suma;
}
public void sortiraj(){
for(int i=0; i<products.length-1; i++)
for(int j=i; j<products.length; j++)
if(ceni[i]>ceni[j])
{
double temp=ceni[i];
ceni[i]=ceni[j];
ceni[j]=temp;
String temps=products[i];
products[i]=products[j];
products[j]=temps;
}
}
public void pecati(){
for(int i=0; i<products.length-1; i++)
System.out.println(products[i]+" "+ceni[i]);
System.out.println("Vkupna cena: "+presmetajCena());
}
public void dodadiProdukt(String p, double c){
String temp[]=new String[products.length+1];
double ce[]=new double[ceni.length+1];
for(int i=0; i<products.length; i++){
temp[i]=products[i];
ce[i]=ceni[i];
}
temp[products.length]=p;
ce[ceni.length]=c;
ceni=ce;
products=temp;
}
public void izbrisiProdukt(String p){
String temp[]=new String[products.length];
int brojac=0;
double temps[]=new double[ceni.length];
for(int i=0; i<products.length; i++){
if(products[i] != p){
temp[brojac]=products[i];
temps[brojac++]=ceni[i];
}
}
ceni=temps;
products=temp;
}
public static void main(String []argv){
Scanner sc = new Scanner(System.in);
Kosnicka k = new Kosnicka();
int n = sc.nextInt();
for(int i = 0;i<n;i++){
String s = sc.next();
double p = sc.nextDouble();
k.dodadiProdukt(s, p);
}
k.sortiraj();
int brisi = sc.nextInt();
k.izbrisiProdukt(k.getproducts()[brisi]);
k.pecati();
}
}