
/**
 * Trieda modeluje primitivny automat na predaj
 * cestovnych listkov MHD.
 * Model predpoklada, ze kupujuci vlozi presnu
 * ciastku podla ceny listka.
 * Cena listka je urcena parametrom konstruktora.
 */
public class AutomatMHD   
{
    private int aCenaListka;
    // suma vlozenych minci pred tlacou listka
    private int aVlozenaCiastka;
    // celkova suma penazi za vsetky listky
    private int aTrzba;
    // počet predanzch listkou
    private int aListkou;
    // vydavok
    private int aVydavok;
    
     
    /**
     * Konstruktor vytvori automat, ktory bude
     * tlacit cestovne listky pevnej ceny.
     * Cena je urcena parametrom paCenaListka.
     * Pozor - cena listka musi byt kladne cele
     * cislo a tato podmienka sa nekontroluje.
     */
    public AutomatMHD(int paCenaListka)
    {
        aCenaListka = paCenaListka;
        aVlozenaCiastka = 0;
        aTrzba = 0;
        aListkou = 0;
        aVydavok = 0;
            }

    /** nulovanie trzby
      */
     public void nulovanieTrzby()
     {
        aTrzba = 0;
    }
    
    /** cena listka
      */
     public void cenaliska(int paCenaListka)
     {
        aCenaListka = paCenaListka;
    }
    
    /**
     * Vrati hodnotu Trzby
     */
    public int dajTrzbu()
    {
        return aTrzba;
    }
    
    /**
     * Vrati hodnotu predanzch listkou
     */
    public int dajListky()
    {
        return aListkou;
    }
    
    /**
     * Vrati hodnotu ceny listka
     */
    public int dajCenuListka()
    {
        return aCenaListka;
    }
    
    /**
     * Vrati doteraz vlozenu ciastku
     */
    public int dajVlozenuCiastku()
    {
        return aVlozenaCiastka;
    }
    
    /**
     * Prijme mincu danej hodnoty od kupujuceho
     */
    public void vlozMincu(int paHodnotaMince)
   
    {
      if (201 > paHodnotaMince) { if(paHodnotaMince >= 0) { aVlozenaCiastka = aVlozenaCiastka + paHodnotaMince;}         
    } 
    }
    
    /**
     Vas vydavok
     */
    public void tlacListok()
    { if(aVlozenaCiastka >= aCenaListka) {
        // tlac listka do okna konzoly
        System.out.println("*************************");
        System.out.println("* Skolska linka FRI");
        System.out.println("* Cestovny listok");
        System.out.print("* cena ");
        System.out.print(aCenaListka);
        System.out.println(" centov");
        System.out.println("*************************");
        System.out.println();
        
        // pripocitaj vlozenu ciastku k trzbe
        aTrzba = aTrzba +  aCenaListka;        
        //počet predanzch listkou
        aListkou = aListkou + 1;
         // vydavok
        aVydavok = aVlozenaCiastka -  aCenaListka;        
          // nuluj vlozenu ciastku
        aVlozenaCiastka = 0;
        
       int pomoc; 
        System.out.println();
        System.out.print("*Vydavam ");
        System.out.print( aVydavok);
        System.out.println("*");
        
        pomoc = aVydavok /200 ; if (pomoc != 0){
        System.out.print( pomoc);System.out.println("* 2 euroviek ");
        aVydavok = aVydavok -( pomoc * 200 )  ; }
        
        pomoc = aVydavok /100 ; if (pomoc != 0){
        System.out.print( pomoc);System.out.println("* 1 euroviek ");
        aVydavok = aVydavok -( pomoc * 100 )  ; }
        
        pomoc = aVydavok /50 ; if (pomoc != 0){
        System.out.print( pomoc);System.out.println("* 50 centoviek ");
        aVydavok = aVydavok -( pomoc * 50 )  ;}
        
        pomoc = aVydavok /20 ; if (pomoc != 0){
        System.out.print( pomoc);System.out.println("* 20 centoviek ");
        aVydavok = aVydavok -( pomoc * 20 )  ;}
        
        pomoc = aVydavok /10 ; if (pomoc != 0){
        System.out.print( pomoc);System.out.println("* 10 centoviek ");
        aVydavok = aVydavok -( pomoc * 10 )  ;}
        
        pomoc = aVydavok /5 ; if (pomoc != 0){
        System.out.print( pomoc);System.out.println("* 5 centoviek ");
        aVydavok = aVydavok -( pomoc * 5 )  ;}
        
        pomoc = aVydavok /2 ; if (pomoc != 0){
        System.out.print( pomoc);System.out.println("* 2 centoviek ");
        aVydavok = aVydavok -( pomoc * 2 )  ;}
        
        pomoc = aVydavok /1 ; if (pomoc != 0){
        System.out.print( pomoc);System.out.println("* 1 centoviek ");
        aVydavok = aVydavok -( pomoc * 1 )  ;}}
        
        
        
    else {  System.out.println("*************************");
            System.out.println("*   Nedostatok Kreditu  *");
            System.out.println("*************************"); }
    }
}
