Guest User

Untitled

a guest
May 20th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.09 KB | None | 0 0
  1.  static void Main(string[] args)
  2.         {
  3.             List<object> lista = new List<object> { };
  4.  
  5.  
  6.             //konsola k1 = new konsola();
  7.             //tworzymy zwierzaki
  8.             //Console.WriteLine("Dodawaj zwierzaki: \n");
  9.         //start:
  10.  
  11.             //lista.Add(k1.Menu());
  12.  
  13.             //Console.WriteLine("Dodać kolejne zwierze? (n/t)");
  14.             //string wybor = Console.ReadLine();
  15.             //if (wybor == "n")
  16.             //{
  17.                // goto koniec;
  18.            // }
  19.             //else goto start;
  20.         //koniec:
  21.  
  22.             Pies p1 = new Pies("Dzony", 19, 60);
  23.             lista.Add(p1);
  24.             Pies p2 = new Pies("Monika", 22, 99);
  25.             lista.Add(p2);
  26.             Pies p3 = new Pies("Lania", 10, 30);
  27.             lista.Add(p3);
  28.             Pies p4 = new Pies("Dzony_lopata", 66, 99);
  29.             lista.Add(p4);
  30.  
  31.  
  32.             IComparer<Zwierz> wgwagi = new Zwierz.Porownaj_waga();
  33.             lista.Sort(wgwagi);
  34.  
  35.             foreach (var item in lista)
  36.             {
  37.                 item.ToString();
  38.             }
  39.  
  40.  
  41.             lista.Sort();
  42.  
  43.             Console.WriteLine("Zwierzęta:");
  44.         foreach (var item in lista)
  45.         {
  46.             Console.WriteLine(item.ToString());
  47.         }
  48.             //porównujemy
  49.  
  50.         //Pies kutas = new Pies("Koń", 10,10);
  51.         //    Pies zwierzak = new Pies("Lama", 101, 101);
  52.         //    if (kutas.CompareTo(zwierzak) == 1)
  53.         //    {
  54.         //        Console.WriteLine("kutas większy");
  55.         //    }
  56.         //    else
  57.         //        Console.WriteLine("zwierzak większy");
  58.            
  59.             //IComparer<Zwierz> Zmienna = Zwierz.FUnkcjakomparująca
  60.            
  61.            
  62. ////            Utworz kłase abstrakcyjna Zwierze awierajaca prywatne poła
  63. //            składowe wiek, waga i imie,
  64. ////oraz metody abstrakcyjne Głos(), Bieg(), i ToString(). Utworz kłasy pochodne
  65. //            od kłasy Zwierze: Kot i Pies. W kłasach
  66. ////pochodnych dodaj nowe wersje wymienionych metod ktore przesłaniaja oryginałne.
  67. //            Utworz łiste obiektow kłasy Zwierze i Ĺ]
  68. ////umiesc w niej kłasy Pies i Kot. Nastepnie zaimpłementj interfejs IComparab]e
  69. //            tak aby obiekty kłasy Zwierze mozna było sortowac wg wagi, wieku łub imion.
  70.             Console.ReadKey();
  71.  
  72.  
  73.  
  74.  
  75. namespace PsyIKoty
  76. {
  77.     abstract class Zwierz : IComparable
  78.     {
  79.         private string imie;
  80.         public string Imie
  81.         {
  82.             get { return imie; }
  83.             set { imie = value; }
  84.         }
  85.         private int wiek, waga;
  86.         public int Waga
  87.         {
  88.             get { return waga; }
  89.             set { waga = value; }
  90.         }
  91.  
  92.         public int Wiek
  93.         {
  94.             get { return wiek; }
  95.             set { wiek = value; }
  96.         }
  97.  
  98.         public Zwierz(string imie, int wiek, int waga)
  99.         {
  100.             this.imie = imie;
  101.             this.wiek = wiek;
  102.             this.waga = waga;
  103.         }
  104.  
  105.         public Zwierz()
  106.         { }
  107.  
  108.         public abstract void Glos();
  109.         public abstract void Bieg();
  110.  
  111.         public int CompareTo(object obj)
  112.         {
  113.             Zwierz temp = (Zwierz)obj;
  114.             if (Wiek > temp.Wiek)
  115.             {
  116.                 return 1;
  117.             }
  118.                 else if (Wiek == temp.Wiek)
  119.                 {
  120.                     return 0;
  121.                 }
  122.             else
  123.             return -1;
  124.         }
  125.        
  126.         public class Porownaj_waga : IComparer<Zwierz>
  127.         {
  128.  
  129.             public int Compare(Zwierz x, Zwierz y)
  130.             {
  131.  
  132.                 if (x.Wiek > y.Wiek)
  133.                 {
  134.                     return 1;
  135.                 }
  136.                 else if (x.Wiek == y.Wiek)
  137.                 {
  138.                     return 0;
  139.                 }
  140.                 else
  141.                     return -1;
  142.             }
  143.         }
  144.        public class Porownaj_imie : IComparer<Zwierz>
  145.         {
  146.  
  147.             public int Compare(Zwierz x, Zwierz y)
  148.             {
  149.                 return String.Compare(x.imie, y.imie);
  150.             }
  151.         }
  152.  
  153.     }
  154. }
Add Comment
Please, Sign In to add comment