Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
5.9 kB
2
Indexable
//Z1----------------------------------------

static void Main(string[] args)
{
    List<string> auti = new List<string> { "audi", "kia", "mercedes", "volvo" };
    Func<int, int> autoDuzinaStringa = x => auti[x].Length;

    for (int i = 0; i < auti.Count; i++)
    {
        Console.WriteLine(autoDuzinaStringa(i));
    }
}

//Z2---------------------------------------

public class Osoba
{
    private string ime;
    public string Ime
    {
        get { return ime; }
        set {
            if (string.IsNullOrEmpty(value))
            {
                throw new ArgumentNullException("Ime", "Ime ne smije biti prazno");
            }
            ime = value;
        }
    }
    private string prezime;

    public string Prezime
    {
        get { return prezime; }
        set {
            if (string.IsNullOrEmpty(value))
            {
                throw new ArgumentNullException("Prezime", "Prezime ne smije biti prazno");
            }
            prezime = value;
        }
    }
    public Osoba(string ime, string prezime)
    {
        Ime = ime;
        Prezime = prezime;
    }
}

static void Main(string[] args)
{
    try
    {
        Console.WriteLine("Unesi ime");
        string ime = Console.ReadLine();
        Console.WriteLine("Unesi prezime");
        string prezime = Console.ReadLine();
        Osoba os = new Osoba(ime, prezime);
        Console.WriteLine(ime + " " + prezime);
    }
    catch (ArgumentNullException ex)
    {
        Console.WriteLine(ex.Message);
    }

    Console.ReadLine();
}

//Z3--------------------------------------------

 public class Osoba
{
    private double placa = 6000;

    public double Placa
    {
        get { return placa; }
        set
        {
            if (value < 0)
            {
                throw new Iznimke(placa, value);
            }
            placa = value;
        }
    }
}

public class Iznimke : Exception
{
    public double Prije { get; private set; }
    public double Poslije { get; private set; }

    public Iznimke(double staraPlaca, double novaPlaca)
    {
        Prije = staraPlaca;
        Poslije = novaPlaca;
    }
}

static void Main(string[] args)
{
    try
    {
        Osoba osoba = new Osoba();
        osoba.Placa = 5000;
        Console.WriteLine("Unesite novu placu:");
        double novaPlaca = Convert.ToDouble(Console.ReadLine());
        osoba.Placa = novaPlaca;
    }
    catch (Iznimke ex)
    {
        Console.WriteLine("Stara plaća: " + ex.Prije);
        Console.WriteLine("Nova plaća: " + ex.Poslije);
    }
}

//Z4--------------------------------------------------

internal class Program
{
    static void Main(string[] args)
    {
        Osoba osoba = new Osoba();
        osoba.ImePromijenjeno += Osoba_ImePromijenjeno;
        osoba.PrezimePromijenjeno += Osoba_PrezimePromijenjeno;
        osoba.PlacaPromijenjena += Osoba_PlacaPromijenjena;


        osoba.Ime = "Mario";
        osoba.Prezime = "Habrun";
        osoba.Placa = 7000;


        osoba.Ime = Console.ReadLine();
        osoba.Prezime = Console.ReadLine();
        try
        {
            osoba.Placa = Convert.ToDouble(Console.ReadLine());
        }
        catch
        {
            Console.WriteLine("Neispravan unos za Placu");
        }
    }


    private static void Osoba_ImePromijenjeno(object sender, ImeEventArgs e)
    {
        Console.WriteLine($"Ime promijenjeno: Prethodno Ime = {e.PrethodnoIme}, Novo Ime = {((Osoba)sender).Ime}");
    }

    private static void Osoba_PrezimePromijenjeno(object sender, PrezimeEventArgs e)
    {
        Console.WriteLine($"Prezime promijenjeno: Prethodno Prezime = {e.PrethodnoPrezime}, Novo Prezime = {((Osoba)sender).Prezime}");
    }

    private static void Osoba_PlacaPromijenjena(object sender, PlacaEventArgs e)
    {
        Console.WriteLine($"Placa promijenjena: Prethodna Placa = {e.PrethodnaPlaca}, Nova Placa = {((Osoba)sender).Placa}");
    }
}
public class ImeEventArgs : EventArgs
{
    public string PrethodnoIme { get; private set; }

    public ImeEventArgs(string prethodnoIme)
    {
        PrethodnoIme = prethodnoIme;
    }
}
public class PrezimeEventArgs : EventArgs
{
    public string PrethodnoPrezime { get; private set; }

    public PrezimeEventArgs(string prethodnoPrezime)
    {
        PrethodnoPrezime = prethodnoPrezime;
    }
}
public class PlacaEventArgs : EventArgs
{
    public double PrethodnaPlaca { get; private set; }

    public PlacaEventArgs(double prethodnaPlaca)
    {
        PrethodnaPlaca = prethodnaPlaca;
    }
}

public class Osoba
{
    private int id;
    private string ime;
    private string prezime;
    private double placa;

    public int Id
    {
        get { return id; }
        set { id = value; }
    }

    public string Ime
    {
        get { return ime; }
        set
        {
            string prethodnoIme = ime;
            ime = value;
            ImePromijenjeno?.Invoke(this, new ImeEventArgs(prethodnoIme));
        }
    }

    public string Prezime
    {
        get { return prezime; }
        set
        {
            string prethodnoPrezime = prezime;
            prezime = value;
            PrezimePromijenjeno?.Invoke(this, new PrezimeEventArgs(prethodnoPrezime));
        }
    }

    public double Placa
    {
        get { return placa; }
        set
        {
            double prethodnaPlaca = placa;
            placa = value;
            PlacaPromijenjena?.Invoke(this, new PlacaEventArgs(prethodnaPlaca));
        }
    }
  

    public event EventHandler<ImeEventArgs> ImePromijenjeno;
    public event EventHandler<PrezimeEventArgs> PrezimePromijenjeno;
    public event EventHandler<PlacaEventArgs> PlacaPromijenjena;


}