Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class Proizvod : IComparable<Proizvod>
- {
- public int ID { get; set; }
- public string Naziv { get; set; }
- public double Cijena { get; set; }
- public int CompareTo(Proizvod other)
- {
- return this.Cijena.CompareTo(other.Cijena);
- }
- }
- class Lopta : Proizvod
- {
- public int Velicina { get; set; }
- public Lopta(int id, double cijena, string naziv, int velicina)
- {
- this.ID = id;
- this.Cijena = cijena;
- this.Naziv = naziv;
- this.Velicina = velicina;
- }
- }
- class Reket : Proizvod
- {
- public double NategnutostZica { get; set; }
- public string Tip { get; set; }
- public Reket(int id, double cijena, string naziv, double nategnutost, string tip)
- {
- this.ID = id;
- this.Cijena = cijena;
- this.Naziv = naziv;
- this.NategnutostZica = nategnutost;
- this.Tip = tip;
- }
- }
- public interface IPopust
- {
- double DajPopust(List<Proizvod> listaProizvoda);
- }
- class PopustNajjeftinijeg : IPopust
- {
- public double DajPopust(List<Proizvod> listaProizvoda)
- {
- listaProizvoda.Sort();
- double ukupnaCijena = 0;
- listaProizvoda[listaProizvoda.Count - 1].Cijena = listaProizvoda[listaProizvoda.Count - 1].Cijena * 0.5;
- foreach(Proizvod p in listaProizvoda)
- {
- ukupnaCijena += p.Cijena;
- }
- return ukupnaCijena;
- }
- }
- class PopustCjelokupni : IPopust
- {
- public double DajPopust(List<Proizvod> listaProizvoda)
- {
- double ukupniIznos = 0;
- foreach(Proizvod p in listaProizvoda)
- {
- ukupniIznos += p.Cijena;
- }
- return ukupniIznos * 0.8;
- }
- }
- class PopustNajjeftinijiGratis : IPopust
- {
- public double DajPopust(List<Proizvod> listaProizvoda)
- {
- listaProizvoda.Sort();
- listaProizvoda[listaProizvoda.Count - 1].Cijena = 0;
- double ukupniIznos = 0;
- foreach (Proizvod p in listaProizvoda)
- {
- ukupniIznos += p.Cijena;
- }
- return ukupniIznos;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement