Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.48 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Zadanie4_5_AnotherTry
  8. {
  9. public class RandomGenerator
  10. {
  11. // Generate a random number between two numbers
  12. public int RandomNumbera(int min, int max)
  13. {
  14. Random random = new Random();
  15. return random.Next(min, max);
  16. }
  17.  
  18. public int RandomNumberb(int min, int max)
  19. {
  20. Random random = new Random();
  21. return random.Next(min, max);
  22. }
  23. }
  24. class Program
  25. {
  26. static void Main(string[] args)
  27. {
  28. RandomGenerator generator = new RandomGenerator();
  29. int randa = generator.RandomNumbera(1, 20);
  30. int randb = generator.RandomNumberb(21, 40);
  31.  
  32. Kwadrat kw = new Kwadrat(randa);
  33. Prostokat pr = new Prostokat(randa, randb);
  34. Kolo ko = new Kolo(randb);
  35. Console.WriteLine(" --- KWADRAT --- ");
  36. Console.WriteLine(kw.ToString());
  37.  
  38. Console.WriteLine(" --- PROSTOKAT --- ");
  39. Console.WriteLine(pr.ToString());
  40. Console.WriteLine($"Pole: {pr.Pole}");
  41. Console.WriteLine($"Powiększone Pole: {pr.Powiększsz}");
  42. Console.WriteLine($"Pomniejszone Pole: {pr.Pomniejszsz}");
  43.  
  44. Console.WriteLine(" -- KOLO --- ");
  45. Console.WriteLine(ko.ToString());
  46. Console.ReadKey();
  47. }
  48. }
  49.  
  50. public interface IFigura
  51. {
  52. double Obwod { get; }
  53. double Pole { get; }
  54.  
  55. }
  56. public abstract class FabrykaFigura
  57. {
  58. public abstract IFigura Utwórz();
  59. }
  60.  
  61. public class Kwadrat : IFigura
  62. {
  63. private double dl_boku_kwadrat;
  64.  
  65. public Kwadrat(double dl_boku_kwadrat)
  66. {
  67. this.dl_boku_kwadrat = dl_boku_kwadrat;
  68. }
  69.  
  70. public double Obwod => dl_boku_kwadrat * 4;
  71. public double Pole => dl_boku_kwadrat * dl_boku_kwadrat;
  72.  
  73. public double Powiększ() => 0;
  74. public double Pomniejsz() => 0;
  75. public override string ToString() => "Kwadrat: " + dl_boku_kwadrat.ToString();
  76. }
  77. public class KwadratFactory : FabrykaFigura
  78. {
  79. public override IFigura Utwórz()
  80. {
  81. return new Kwadrat();
  82. }
  83. }
  84. public class Prostokat : IFigura
  85. {
  86. private double dl_boku_a_prostokat;
  87. private double dl_boku_b_prostokat;
  88.  
  89. public override IFigura Utwórz()
  90. {
  91. return new Prostokat();
  92. }
  93.  
  94. public Prostokat(double dl_boku_a_prostokat, double dl_boku_b_prostokat)
  95. {
  96. this.dl_boku_a_prostokat = dl_boku_a_prostokat;
  97. this.dl_boku_b_prostokat = dl_boku_b_prostokat;
  98. }
  99.  
  100. public double Obwod => (dl_boku_a_prostokat * 2) + (dl_boku_b_prostokat * 2);
  101. public double Pole => dl_boku_a_prostokat * dl_boku_b_prostokat;
  102.  
  103. public double Powiększsz => Powiększ(dl_boku_a_prostokat) * dl_boku_b_prostokat;
  104. public double Pomniejszsz => Pomniejsz(dl_boku_a_prostokat) * dl_boku_b_prostokat;
  105. public override string ToString() => "Prostokat: " + dl_boku_a_prostokat.ToString() + " ; " + dl_boku_b_prostokat.ToString();
  106. public static double Powiększ(double dl_or_prom) => dl_or_prom * 2;
  107. public static double Pomniejsz(double dl_or_prom) => dl_or_prom / 2;
  108. }
  109. public class ProstokatFactory : FabrykaFigura
  110. {
  111. public override IFigura Utwórz()
  112. {
  113. return new Prostokat();
  114. }
  115. }
  116. public class Kolo : IFigura
  117. {
  118. private double dl_prom_r_kolo;
  119.  
  120. public Kolo(double dl_prom_r_kolo)
  121. {
  122. this.dl_prom_r_kolo = dl_prom_r_kolo;
  123. }
  124.  
  125. public double Obwod => 2 * Math.PI * dl_prom_r_kolo;
  126. public double Pole => Math.PI * (dl_prom_r_kolo * dl_prom_r_kolo);
  127. public double Powiększ() => 0;
  128. public double Pomniejsz() => 0;
  129. public override string ToString() => "Kolo: " + $"{Math.PI:0.00}" + " ; " + dl_prom_r_kolo;
  130. }
  131. public class KoloFactory : FabrykaFigura
  132. {
  133. public override IFigura Utwórz()
  134. {
  135. return new Kolo();
  136. }
  137. }
  138.  
  139. public class UpDown
  140. {
  141. public static double Powiększ(double dl_or_prom) => dl_or_prom * 2;
  142. public static double Pomniejsz(double dl_or_prom) => dl_or_prom / 2;
  143. }
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement