Advertisement
Guest User

Untitled

a guest
Jan 18th, 2020
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.81 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Dla_damiana
  4. {
  5.     public interface IFigura
  6.     {
  7.     }
  8.     public class Kwadrat : IFigura
  9.     {
  10.  
  11.     }
  12.     public class Trojkat : IFigura
  13.     {
  14.  
  15.     }
  16.  
  17.     abstract class FabrykaFigur : IFigura
  18.     {
  19.         public abstract IFigura StworzFigure();
  20.     }
  21.  
  22.     class FabrykaKwadratow : FabrykaFigur
  23.     {
  24.         public override IFigura StworzFigure()
  25.         {
  26.             return new Kwadrat();
  27.         }
  28.     }
  29.  
  30.     class FabrykaTrojkotow : FabrykaFigur
  31.     {
  32.         public override IFigura StworzFigure()
  33.         {
  34.             return new Trojkat();
  35.         }
  36.     }
  37.  
  38.     public interface IDziałania
  39.     {
  40.         void DeltaDodatnia(double a, double b, double c);
  41.         void DeltaRownaZero(double a, double b, double c);
  42.         void DeltaUjemna(double a, double b, double c);
  43.     }
  44.  
  45.     public class Działania : IDziałania
  46.     {
  47.         public void DeltaDodatnia(double a, double b, double c)
  48.         {
  49.             double delta = b * b - 4.0 * a * c;
  50.             Console.WriteLine("Pierwszy pierwiastek: {0}", (-b - delta) / (2 * a));
  51.             Console.WriteLine("Drugi pierwiastek: {0}", (-b + delta) / (2 * a));
  52.         }
  53.  
  54.         public void DeltaRownaZero(double a, double b, double c)
  55.         {
  56.             Console.WriteLine("Pierwiastek: {0}", (-b) / (2 * a));
  57.         }
  58.  
  59.         public void DeltaUjemna(double a, double b, double c)
  60.         {
  61.             Console.WriteLine("Brak pierwiastków wielomianu kwadratowego");
  62.         }
  63.     }
  64.  
  65.     public class Fasada
  66.     {
  67.         public void ObliczPierWieomianu(double a, double b, double c)
  68.         {
  69.             Działania ob = new Działania();
  70.             double delta = b * b - 4.0 * a * c;
  71.             if (delta > 0)
  72.             {
  73.                 ob.DeltaDodatnia(a, b, c);
  74.             }
  75.             else if (delta == 0)
  76.             {
  77.                 ob.DeltaRownaZero(a, b, c);
  78.             }
  79.             else
  80.             {
  81.                 ob.DeltaUjemna(a, b, c);
  82.             }
  83.         }
  84.     }
  85.  
  86.     class Client
  87.     {
  88.         public string FirstName { get; set; }
  89.         public string LastName { get; set; }
  90.         public string ZipCode { get; set; }
  91.         private double _myWallet;
  92.         public double MyWallet { get => _myWallet; set => _myWallet = value; }
  93.         public string Town { get; set; }
  94.         public string Street { get; set; }
  95.         public int HomeNumber { get; set; }
  96.  
  97.         public Client(Builder builder)
  98.         {
  99.             FirstName = builder.firstname;
  100.             LastName = builder.lastname;
  101.             ZipCode = builder.zipcode;
  102.             _myWallet = builder.myWallet;
  103.             Town = builder.town;
  104.             Street = builder.street;
  105.             HomeNumber = builder.homenumber;
  106.         }
  107.  
  108.         public class Builder
  109.         {
  110.             public string firstname;
  111.             public string lastname;
  112.             public string zipcode;
  113.             public double myWallet;
  114.             public string town;
  115.             public string street;
  116.             public int homenumber;
  117.  
  118.             public Builder FirstName(string firstname)
  119.             {
  120.                 this.firstname = firstname;
  121.                 return this;
  122.             }
  123.  
  124.             public Builder LastName(string lastname)
  125.             {
  126.                 this.lastname = lastname;
  127.                 return this;
  128.             }
  129.  
  130.             public Builder ZipCode(string zipcode)
  131.             {
  132.                 this.zipcode = zipcode;
  133.                 return this;
  134.             }
  135.  
  136.             public Builder MyWallet(double myWallet)
  137.             {
  138.                 this.myWallet = myWallet;
  139.                 return this;
  140.             }
  141.  
  142.             public Builder Town(string town)
  143.             {
  144.                 this.town = town;
  145.                 return this;
  146.             }
  147.  
  148.             public Builder HomeNumber(int homenumber)
  149.             {
  150.                 this.homenumber = homenumber;
  151.                 return this;
  152.             }
  153.  
  154.             public Builder Street(string street)
  155.             {
  156.                 this.street = street;
  157.                 return this;
  158.             }
  159.  
  160.             public Client build()
  161.             {
  162.                 return new Client(this);
  163.             }
  164.         }
  165.     }
  166.     class Program
  167.     {
  168.         static void Main(string[] args)
  169.         {
  170.             FabrykaFigur fabryka = new FabrykaKwadratow();
  171.             IFigura kwadrat = fabryka.StworzFigure();
  172.  
  173.             Fasada ob = new Fasada();
  174.             ob.ObliczPierWieomianu(2, 6, 4);
  175.  
  176.             Client client = new Client.Builder()
  177.         .FirstName("Slawomir")
  178.         .LastName("Kowalski")
  179.         .ZipCode("34 174")
  180.         .MyWallet(456.32)
  181.         .HomeNumber(23)
  182.         .Town("Cambridge")
  183.         .Street("botolph lane")
  184.         .build();
  185.         }
  186.     }
  187. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement