Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka

[es] :: Java :: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka

Strane: 1 2

[ Pregleda: 4855 | Odgovora: 32 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka05.06.2011. u 10:24 - pre 156 meseci
Polako, drugi deo zadatka ćemo da uradimo kad završimo prvi. Uglavnom ne cimaj se za taj drugi deo to je par linija koda, ništa posebno.

Što se tiče ovih formula kod ti je ispravan samo treba da ga ubaciš u metodu (pogledaj svoju specifikaciju u prvom postu, tamo se kaže da treba da se naprave posebne metode za izračunavanje bruto i neto plate). Ovu formulu što si napisao je bruto plata. Znači u klasu sam dodao dve metode, to su: calculateGrossPay() i calculateNetPay(). Pored toga dodao sam konstantu TAX_RATE. Napisao sam i komentar vezan za ovu konstantu, pogledaj kod.

Code:

/* 
   FileName: EmployeePayroll.java
   
 */
public class EmployeePayroll {

    private String firstName;
    private String lastName;
    private int id;
    private int hoursWorked;
    private double payRate;
    private double grossPay;
    private double netPay;
    
    //Ovo je poreska stopa, zato je konstanta (ključna reč final).
    //Konvencija je da se imena konstanti pišu velikim slovima, i da se između reči stavlja donja crta
    private final double TAX_RATE = 0.42;

    public String toString() {
        return this.getFirstName() + " " + this.getLastName();
    }

    public EmployeePayroll() {

        firstName = "";
        lastName = "";
        id = 0;
        hoursWorked = 0;
        payRate = 0;
        grossPay = 0;
        netPay = 0;
    }

    public EmployeePayroll(double netPay, double grossPay, double payRate,
            int id, int hoursWorked, String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.id = id;
        this.hoursWorked = hoursWorked;
        this.payRate = payRate;
        this.grossPay = grossPay;
        this.netPay = netPay;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public void setID(int id) {
        this.id = id;
    }

    public void setHoursWorked(int hoursWorked) {
        this.hoursWorked = hoursWorked;
    }

    public void setPayRate(double payRate) {
        this.payRate = payRate;
    }

    public void setGrossPay(double grossPay) {
        this.grossPay = grossPay;
    }

    public void setNetPay(double netPay) {
        this.netPay = netPay;
    }

    public String getFirstName() {
        return firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public int getID() {
        return id;
    }

    public int getHoursWorked() {
        return hoursWorked;
    }

    public double getPayRate() {
        return payRate;
    }

    public double getGrossPay() {
        return grossPay;
    }

    public double getNetPay() {
        return netPay;
    }
    
    public void calculateGrossPay() {
        if (hoursWorked <= 38)
            grossPay = hoursWorked * payRate;

        else if (hoursWorked <= 42)
            grossPay = 38 * payRate + (hoursWorked - 38) * 1.5 * payRate;

        else if (hoursWorked <= 60)
            grossPay = 38 * payRate + 4 * 1.5 * payRate + (hoursWorked - 42)
                    * 2 * payRate;
    }
    
    public void calculateNetPay(){
        netPay = grossPay - (grossPay*TAX_RATE);
    }
}





Ostaje ti za ovaj prvi deo zadatka samo još da popraviš konstruktore da bi odgovarali navedenim zahtevima. Znači pročitaj one dve stavke vezano za konstruktore u tvom prvom postu i uporedi sa kodom u klasi i vidi da li kod odgovara zahtevima.

Pogle toga ostaje još samo da testiramo ovo što smo napravili.

 
Odgovor na temu

stevanio
Amsterdam

Član broj: 285584
Poruke: 15
*.lns2.lon.bigpond.net.au.



Profil

icon Re: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka06.06.2011. u 08:54 - pre 155 meseci
Sto se tice konstruktora, samo ovo ima u zadatku:
Citat:

* Klasa treba da ima podrazumevani konstruktor koji ce se koristi da zapocne polja za ime, prezime, ID i kolko dobija po satu.

* Klasa treba da ima drugi konstruktor koji prihvata vrednost za ime, prezime, ID,sate rada i platu.


Zar to nismo vec uradili?
 
Odgovor na temu

dule_ns
Novi Sad

Član broj: 123863
Poruke: 257
194.247.212.*



+690 Profil

icon Re: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka06.06.2011. u 09:37 - pre 155 meseci
Da uradio si to plus još nešto malo. To nešto malo nije uvek poželjno.

Prvi konstruktor ti setuje sve vrednosti. Traženo je samo 4, al pošto je to podrazumevani konstruktor i pošto ti atributi nisu objekti nego primitivne promenjive po meni je ok kako si uradio, al opet nije ono što piše u zadatku.

Drugi konstruktor ti setuje sve vrednosti a ne samo 5 traženih. Opet postavalja se pitanje da li je to logički ispravno, al definitivno nije ono što piše u tekstu zadatka.



U svakom slučaju to možeš i da proveriš sa profesorom.
 
Odgovor na temu

stevanio
Amsterdam

Član broj: 285584
Poruke: 15
*.lns2.lon.bigpond.net.au.



Profil

icon Re: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka06.06.2011. u 13:07 - pre 155 meseci
Ok, pitacu ja..pa ako ne budu pravili frku, ostavicu ovako.
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka06.06.2011. u 13:22 - pre 155 meseci
Kako god hoćeš, vezano za konstruktore, i ovako će raditi.
Sad možemo da napišemo test klasu da isprobamo šta smo uradili..
Znači treba da napraviš jednu klasu koja se zove na primer EmployeePayrollTest, koja će imati main metodu. U toj main metodi kreiraj klasu EmployeePayroll i ubaci vrednosti u nju. Vrednosti ubacuješ preko seter metoda. Na primer setFirstName("Stevan");

Kreni pa daj kod da vidimo šta si uradio.

I da, umalo da zaboravim. Nisi nam uopšte rekao šta koristiš, jel neki IDE (Netbeans, Eclipse,..) ili preko notpeda..
 
Odgovor na temu

stevanio
Amsterdam

Član broj: 285584
Poruke: 15
*.nmit.vic.edu.au.



Profil

icon Re: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka07.06.2011. u 02:19 - pre 155 meseci
Koristim program koji se zove Jens Editor. To su nam dali,po sto kao, jednostavan je za pocetnike.

za TestEmployeePayroll treba da korsitimo user input sa tastature, koristeci onaj ReadKb. Jeli i onda moramo staviti ' setFirstName("Stevan");' ili samo treba da koristimo get?


Ovo je drugi deo zadatka:

Citat:

Create a class to test the functionality of your EmployeePayroll class.

* Name the class TestEmployeePayroll

* Instantiate one EmployeePayroll object that initially sets the first name, last name, and ID fields to your name and student number, the pay rate field to 20.00 and the hours worked field to 38.0.

* Instantiate a second EmployeePayroll object using the default constructor.

* Instantiate an object of the ReadKb class so that your test class can receive user input from the keyboard.

* User input is required for first name, last name, ID, hours worked and pay category (see following table)
Category Pay Rate
1 $55.00
2 $30.00
3 $25.00
4 $20.00


* Validation is required for user input of hours worked (must be between 0 and 60 inclusively) and pay category (must be between 1 and 4 inclusively). Assume the user will enter only numeric input for these values.

* The values entered by the user are to be assigned to the fields of the second EmployeePayroll object using the appropriate setter methods.

* Calculate gross and net pay for each EmployeePayroll object.



Jel li se ovako nekako mora poceti?
Code:

/*
 File Name: TestEmployeePayroll.java
*/


public class TestEmployeePayroll{
public static void main(String[]args){
    String firstName;
    String lastName;
    String id;
    int hoursWorked;
    double payRate;
    double grossPay;
    double netPay;
    int payCategory;
    
    
    
     ReadKb readKb=new ReadKb();
     
     System.out.print("Enter your first name: ");
     firstName=readKb.getString();
     
     System.out.print("Enter your last name: ");
     lastName=readKb.getString();
     
     System.out.print("Enter your employee ID: ");
     id=readKb.getString();
     
     System.out.print("Enter hours worked: ");
     hoursWorked=readKb.getInt();
     
     System.out.print("Enter your pay category: ");
     payCategory=readKb.getInt();
     
     
    //ovde treba ona kalkulacija da se desi(???) i onda posle da sve zajedno prikazemo ispod
     

     System.out.println("*******************************");//ovo je samo bzveze linija da se vidi
     System.out.println("Employee Name: "+firstName+lastName );
     System.out.println("Employee ID: "+id);
     System.out.println("Hours Worked: "+hoursWorked);
     System.out.println("Pay Category: "+payCategory);
     
     
     
                                     }
                            }




[Ovu poruku je menjao stevanio dana 08.06.2011. u 04:24 GMT+1]

[Ovu poruku je menjao stevanio dana 08.06.2011. u 05:12 GMT+1]

[Ovu poruku je menjao stevanio dana 08.06.2011. u 05:17 GMT+1]
 
Odgovor na temu

stevanio
Amsterdam

Član broj: 285584
Poruke: 15
*.pa.vic.optusnet.com.au.



Profil

icon Re: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka07.06.2011. u 23:00 - pre 155 meseci
Zar ne treba da importujemo onaj scanner i jos nesto da bi sve moglo da radi kako treba u prvom delu?

Kako ovaj TestEmployeePayroll uzima informacije i one formule is prvog dela da sve izracuna kad se pokrene?
Ovaj drugi deo ja malo zbunjujuci...

jel mislite da cemo moci ovo zavrsiti do petka ili subote?
 
Odgovor na temu

stevanio
Amsterdam

Član broj: 285584
Poruke: 15
*.nmit.vic.edu.au.



Profil

icon Re: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka08.06.2011. u 04:33 - pre 155 meseci
pito sam profesorku da pogleda ovo..i ona kaze da one setter-e sve zajedno moramo staviti. ona kaze bice previse komplikovano, iz nekog razloga , da stavim sve settere posebno.
znaci ipak moram ovako nesto:
Code:

 public void set(String firstName, String lastName, String id, int hoursWorked, double payRate, double grossPay, double netPay) {
        firstName = firstName;
        lastName = lastName;
        id = id;
        hoursWorked = hoursWorked;
        payRate = payRate;
        grossPay = grossPay;
        netPay = netPay;
    }
 
Odgovor na temu

dule_ns
Novi Sad

Član broj: 123863
Poruke: 257
194.247.212.*



+690 Profil

icon Re: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka08.06.2011. u 08:56 - pre 155 meseci
Pa pazi, ako ona tako kaže onda ona tako kaže. Al to nema veze sa životom. Zašto? Pa zato što recimo ti imaš već kreiran objekat sa vrednostima atributa. I u nekom trenutku ti želiš da izmeniš 2 atributa na nove vrednosti. Kako ćeš to uraditi. Normalno je da pozoveš 2 setera za te vrednosti. Nenormalno (njen način) je da prvo pročitaš sve vrednosti, pa da pozoveš taj jedan seter sa tim originalnim vrednostima i sa dve izmenjene. Il ako ona zna za neki drugi način.

Za ovaj scanner ću videti šta tačno radi kod pa ti javim.
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka08.06.2011. u 12:00 - pre 155 meseci
Potpuni promašaj ako staviš samo jedan seter. Lepo je Dule objasnio, šta ako moraš samo jedan atribut klaseda promeniš, na primer firstName?
Kako god hoćeš, možeš i uraditi kako ti profesorka kaže, samo zapamti zbog sebe da to nije ispravno. Valjda i sam uviđaš da to nije u redu.

Uglavnom ja sam ti odradio ovu klasu i prepravio neke stvari koje smo pogrešno odradili pa pogledaj kod. Naravno stavio sam ti i komentare.


1) Name the class TestEmployeePayroll
Urađeno.

2) Instantiate one EmployeePayroll object that initially sets the first name, last name, and ID fields to your name and student number, the pay rate field to 20.00 and the hours worked field to 38.0.
Ovde se kaže da treba da kreiramo jedan objekat klase EmployeePayroll i da mu prosledimo first name, last name, id, pay rate, and hours worked. Na osnovu ovoga zaključujem da drugi konstruktor u klasi ne treba da inicijalizuje netPay i grossPay. To je i logično i to smo ti mi i pričali, jer nelogično je da ti prosleđuješ neto i bruto platu, upravo zato pravimo klasu da bi ona sama izračunala ove vrednosti. Znači evo u kodu ispod sam ti ispravio konstruktor da odgovara ovim zahtevima.

3) Instantiate a second EmployeePayroll object using the default constructor.
Ovo instanciramo podrazumevanim konstruktorom. To je linija:
EmployeePayroll employee2 = new EmployeePayroll();


4) Instantiate an object of the ReadKb class so that your test class can receive user input from the keyboard.
Ovo je klasa koja nije standardna tj. ne postoji u java-sdk već je možeš dobiti sa koristeći neku biblioteku. Ja sam našao na internetu implementaciju ove klase i ubacio sam je u projekat. Pogledaj kod ispod.

5) User input is required for first name, last name, ID, hours worked and pay category (see following table)
Category Pay Rate
1 $55.00
2 $30.00
3 $25.00
4 $20.00
Znači korisnik treba da unese kategoriju a mi kasnije u programu to pretvaramo u cenu rada (payRate). To činimo switch konstrukcijom.

6) Validation is required for user input of hours worked (must be between 0 and 60 inclusively) and pay category (must be between 1 and 4 inclusively). Assume the user will enter only numeric input for these values.
Validaciju rade do while petlje. Uzeto je do while a ne while petlja posto se do while petlja izvrsava makar jednom, a to je ono što nama treba.

7) The values entered by the user are to be assigned to the fields of the second EmployeePayroll object using the appropriate setter methods.
Ovde se jasno vidi iz samog smisla rečenice da moramo da imamo seter metode a ne samo jednu seter metodu.


8) Calculate gross and net pay for each EmployeePayroll object.
Na osnovu ovoga se vidi da u konstruktoru koji prihvata vrednosti ne smemo da prosleđujemo bruto i neto platu nego da se one izračunavaju pomoću metoda koje smo napravili (to su calculateNetPay i calcluateGrossPay).



Evo u nastavku izvornog koda:

Code:

/* 
   FileName: EmployeePayroll.java
   
 */
public class EmployeePayroll {

    private String firstName;
    private String lastName;
    private String id;
    private int hoursWorked;
    private double payRate;
    private double grossPay;
    private double netPay;
    
    //Ovo je poreska stopa, zato je konstanta (ključna reč final).
    //Konvencija je da se imena konstanti pišu velikim slovima, i da se između reči stavlja donja crta
    private final double TAX_RATE = 0.42;

    public EmployeePayroll() {

        firstName = "";
        lastName = "";
        id = "";
        hoursWorked = 0;
        payRate = 0;
        grossPay = 0;
        netPay = 0;
    }

    public EmployeePayroll(String firstName, String lastName, String id, double payRate, int hoursWorked) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.id = id;
        this.hoursWorked = hoursWorked;
        this.payRate = payRate;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public void setID(String id) {
        this.id = id;
    }

    public void setHoursWorked(int hoursWorked) {
        this.hoursWorked = hoursWorked;
    }

    public void setPayRate(double payRate) {
        this.payRate = payRate;
    }

    public void setGrossPay(double grossPay) {
        this.grossPay = grossPay;
    }

    public void setNetPay(double netPay) {
        this.netPay = netPay;
    }

    public String getFirstName() {
        return firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public String getID() {
        return id;
    }

    public int getHoursWorked() {
        return hoursWorked;
    }

    public double getPayRate() {
        return payRate;
    }

    public double getGrossPay() {
        return grossPay;
    }

    public double getNetPay() {
        return netPay;
    }
    
    public void calculateGrossPay() {
        if (hoursWorked <= 38)
            grossPay = hoursWorked * payRate;

        else if (hoursWorked <= 42)
            grossPay = 38 * payRate + (hoursWorked - 38) * 1.5 * payRate;

        else if (hoursWorked <= 60)
            grossPay = 38 * payRate + 4 * 1.5 * payRate + (hoursWorked - 42)
                    * 2 * payRate;
    }
    
    public void calculateNetPay(){
        netPay = grossPay - (grossPay*TAX_RATE);
    }
}




Code:

/* 
   FileName: TestEmployeePayroll.java
   
 */

public class TestEmployeePayroll {

    /**
     * @param args
     */
    public static void main(String[] args) {
        String firstName;
        String lastName;
        String id;
        int hoursWorked;
        double payRate;
        double grossPay;
        double netPay;
        int payCategory;
        
        EmployeePayroll employee1 = new EmployeePayroll("Stevan", "Stevic", "144", 20, 38);
        EmployeePayroll employee2 = new EmployeePayroll();
        
        ReadKb readKb=new ReadKb();
        System.out.print("Enter your first name: ");
        firstName=readKb.getString();
        
        System.out.print("Enter your last name: ");
        lastName=readKb.getString();
        
        System.out.print("Enter your employee ID: ");
        id=readKb.getString();
        
        //Validacija sata rada. Vraćamo korisnika na ovaj korak sve dok ne unese ispravnu vrednost.
        do {
            System.out.print("Enter hours worked (0-60):");
            hoursWorked = readKb.getInt();
        } while (hoursWorked < 0 || hoursWorked > 60);
        
        //Isto kao iznad.
        do {
            System.out.print("Enter your pay category (1-4):");
            payCategory=readKb.getInt();
        } while (payCategory <1 || payCategory>4);
        
        //Ovo je zadatak pod 7
        employee2.setFirstName(firstName);
        employee2.setLastName(lastName);
        employee2.setID(id);
        employee2.setHoursWorked(hoursWorked);
        switch (payCategory) {
        case 1:
            employee2.setPayRate(55);
        case 2:
            employee2.setPayRate(30);
        case 3:
            employee2.setPayRate(25);
        case 4:
            employee2.setPayRate(20);
        }
        
        employee1.calculateGrossPay();
        employee1.calculateNetPay();
        
        employee2.calculateGrossPay();
        employee2.calculateNetPay();
        
        System.out.println("*********************************************");
        System.out.println("employee1");
        System.out.println("Employee name:" + employee1.getFirstName() + " " + employee1.getLastName());
        System.out.println("Employee ID: " + employee1.getID());
        System.out.println("Hours worked: " + employee1.getHoursWorked());
        System.out.println("Pay rate: " + employee1.getPayRate());
        System.out.println("Gross pay:" + employee1.getGrossPay());
        System.out.println("Net pay:" + employee1.getNetPay());
        
        System.out.println("*********************************************");
        System.out.println("employee1");
        System.out.println("Employee name:" + employee2.getFirstName() + " " + employee2.getLastName());
        System.out.println("Employee ID: " + employee2.getID());
        System.out.println("Hours worked: " + employee2.getHoursWorked());
        System.out.println("Pay rate: " + employee2.getPayRate());
        System.out.println("Gross pay:" + employee2.getGrossPay());
        System.out.println("Net pay:" + employee2.getNetPay());
    }
}




Code:

/* 
   FileName: ReadKb.java
   
 */

import java.util.Scanner;

public class ReadKb {

    private Scanner scanner = new Scanner(System.in);

    public double getDouble() {
        double d = 0.0;
        if (scanner.hasNextDouble()) {
            d = scanner.nextDouble();
        } else {
            String s = scanner.next();
            System.out
                    .println("You entered: " + s + "- a double was expected.");
        }
        return d;
    }

    public int getInt() {
        int i = 0;

        if (scanner.hasNextInt()) {
            i = scanner.nextInt();
        } else {
            String s = scanner.next();
            System.out
                    .println("You entered: " + s + "- a double was expected.");
        }
        return i;
    }

    public String getString() {
        String s = scanner.next();
        return s;
    }

    public String getLine() {
        String s = scanner.nextLine();
        return s;
    }
}




Evo u prilogu imaš i jar izvršnu datoteku pa probaj kako to radi. Uđi u konzolu (ne znam da li koristiš vindovs ili linuks), i kucaj:

java -jar TestEmployeePayroll.jar


i testiraj aplikaciju.


Kod mene je to izgledalo ovako:


Prikačeni fajlovi
 
Odgovor na temu

stevanio
Amsterdam

Član broj: 285584
Poruke: 15
*.lns2.lon.bigpond.net.au.



Profil

icon Re: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka09.06.2011. u 11:03 - pre 155 meseci
Ja cu uraditi ovako kako ste vi rekli. Ja mislim da nece praviti probleme kad vidi da sve radi kako treba. Pokazacu joj, pa cu javiti sta je rekla..

A Sta ovo 'this.' znaci i sta radi? jel se moze bez toga?
Code:

public void setPayRate(double payRate) {
        this.payRate = payRate;
    }
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka09.06.2011. u 11:32 - pre 155 meseci
Očigledno da nisi dobro ispratio diskusiju, objasnio sam u jednom od prehodnih postova zbog čega stoji ključna reč this. A i da nisam mogao si na guglu da ukucaš java this keyword i samo bi ti se reklo.
Videćeš kad uznapreduješ malo u programiranju forumi će ti postati ograničenje zato što ne možeš uvek da brzo dobiješ informaciju. Zato je korišćenje pretrage (tj. Gugla) od velike važnosti.

Druga stvar koju sam zaboravio da ti napomenem, je da uzmeš jednu knjigu i da naučiš osnove. Veruj mi i ja sam ranije pokušava tako nešto kao ti i znam kako je mučenje kad gledaš tuđi kod a slabo šta razumeš. Znači neku knjigu koja objašnjava javu i objektno orijentisano programiranje. Ti se raspitaj ali moja preporuka je Head First Java ili Thinking in Java od Busa Ekela.

 
Odgovor na temu

stevanio
Amsterdam

Član broj: 285584
Poruke: 15
*.nmit.vic.edu.au.



Profil

icon Re: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka14.06.2011. u 02:12 - pre 155 meseci
ok, predao sam ovo. mislim da ce biti ok.

HVALA PUNOO SVIMA!!!
 
Odgovor na temu

[es] :: Java :: Napravi klasu koja izračunava i prikazuje plate zaposlenih na osnovu unetih podataka

Strane: 1 2

[ Pregleda: 4855 | Odgovora: 32 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.