Advertisement
Guest User

1231323121323122

a guest
Dec 1st, 2015
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. public abstract class Proizvod : IComparable<Proizvod>
  2. {
  3. public int ID { get; set; }
  4. public string Naziv { get; set; }
  5. public double Cijena { get; set; }
  6.  
  7. public int CompareTo(Proizvod other)
  8. {
  9. return this.Cijena.CompareTo(other.Cijena);
  10. }
  11. }
  12.  
  13. class Lopta : Proizvod
  14. {
  15. public int Velicina { get; set; }
  16.  
  17. public Lopta(int id, double cijena, string naziv, int velicina)
  18. {
  19. this.ID = id;
  20. this.Cijena = cijena;
  21. this.Naziv = naziv;
  22. this.Velicina = velicina;
  23. }
  24. }
  25.  
  26. class Reket : Proizvod
  27. {
  28. public double NategnutostZica { get; set; }
  29. public string Tip { get; set; }
  30.  
  31. public Reket(int id, double cijena, string naziv, double nategnutost, string tip)
  32. {
  33. this.ID = id;
  34. this.Cijena = cijena;
  35. this.Naziv = naziv;
  36. this.NategnutostZica = nategnutost;
  37. this.Tip = tip;
  38. }
  39.  
  40. }
  41.  
  42. public interface IPopust
  43. {
  44. double DajPopust(List<Proizvod> listaProizvoda);
  45. }
  46.  
  47. class PopustNajjeftinijeg : IPopust
  48. {
  49. public double DajPopust(List<Proizvod> listaProizvoda)
  50. {
  51. listaProizvoda.Sort();
  52. double ukupnaCijena = 0;
  53.  
  54. listaProizvoda[listaProizvoda.Count - 1].Cijena = listaProizvoda[listaProizvoda.Count - 1].Cijena * 0.5;
  55.  
  56. foreach(Proizvod p in listaProizvoda)
  57. {
  58. ukupnaCijena += p.Cijena;
  59. }
  60.  
  61. return ukupnaCijena;
  62. }
  63. }
  64.  
  65. class PopustCjelokupni : IPopust
  66. {
  67. public double DajPopust(List<Proizvod> listaProizvoda)
  68. {
  69. double ukupniIznos = 0;
  70.  
  71. foreach(Proizvod p in listaProizvoda)
  72. {
  73. ukupniIznos += p.Cijena;
  74. }
  75.  
  76. return ukupniIznos * 0.8;
  77. }
  78. }
  79.  
  80. class PopustNajjeftinijiGratis : IPopust
  81. {
  82. public double DajPopust(List<Proizvod> listaProizvoda)
  83. {
  84. listaProizvoda.Sort();
  85.  
  86. listaProizvoda[listaProizvoda.Count - 1].Cijena = 0;
  87.  
  88. double ukupniIznos = 0;
  89.  
  90. foreach (Proizvod p in listaProizvoda)
  91. {
  92. ukupniIznos += p.Cijena;
  93. }
  94.  
  95. return ukupniIznos;
  96. }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement