Untitled
unknown
plain_text
a year ago
5.9 kB
2
Indexable
Never
//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; }