alexandrheathen

Untitled

Oct 18th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.98 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace task2_2
  5. {
  6.     class Program
  7.     {
  8.         public delegate int SortDel(Book a, Book b);
  9.  
  10.         public class Book
  11.         {
  12.             public string Author;
  13.             public string Name;
  14.             public string Publish;
  15.             public Book() { }
  16.         }
  17.  
  18.         public class Library
  19.         {
  20.             private List<Book> books;
  21.             public void Add(Book element) {
  22.                 books.Add(element);
  23.             }
  24.             public void Sort(Comparison<Book> funk) {
  25.                 books.Sort(funk);
  26.             }
  27.  
  28.             public void Print() {
  29.                 foreach (var i in books)
  30.                     Console.WriteLine("Имя автора:  " + i.Author + "\t Название творчества: " + i.Name + "\t Изадтельство: " + i.Publish);
  31.             }
  32.             public Library() {
  33.                 books = new List<Book>();
  34.             }
  35.         }
  36.  
  37.         public delegate Library Sortt(Book a, Book b);
  38.  
  39.         private static void Main(string[] args) {
  40.             Library library = new Library();
  41.             int? choose = null;
  42.             library.Add(new Book() { Author = "Tom", Name = "Sity", Publish = "Vill" });
  43.             library.Add(new Book() { Author = "Den", Name = "Volja", Publish = "Piter" });
  44.             library.Add(new Book() { Author = "Alex", Name = "Bel", Publish = "Kot" });
  45.             library.Add(new Book() { Author = "Robert", Name = "Nice", Publish = "Village" });
  46.             library.Add(new Book() { Author = "John", Name = "Rockstar", Publish = "Hell" });
  47.             library.Add(new Book() { Author = "Zee", Name = "Ko", Publish = "Waaar!" });
  48.             library.Print();
  49.             do
  50.             {
  51.                 Console.WriteLine("\n1. Сортировка по имени;\n2. Сортировка по автору;\n3. Сортировка по книге;\n0 - для выхода из программы.");
  52.                 Console.Write("Выберите метод сортировки: ");
  53.                 try
  54.                 {
  55.                     choose = Int32.Parse(Console.ReadLine());
  56.                     switch (choose)
  57.                     {
  58.                         case 0:
  59.                             Console.WriteLine("До скорых встреч!");
  60.                             break;
  61.                         case 1:
  62.                             Console.Clear();
  63.                             library.Sort(
  64.                                 delegate (Book a, Book b)
  65.                                 {
  66.                                     return (a.Name.CompareTo(b.Name));
  67.                                 });
  68.                             library.Print();
  69.                             break;
  70.                         case 2:
  71.                             Console.Clear();
  72.                             library.Sort(
  73.                                 delegate (Book a, Book b)
  74.                                 {
  75.                                     return (a.Author.CompareTo(b.Author));
  76.                                 });
  77.                             library.Print();
  78.                             break;
  79.                         case 3:
  80.                             Console.Clear();
  81.                             library.Sort(
  82.                                 delegate (Book a, Book b)
  83.                                 {
  84.                                     return (a.Publish.CompareTo(b.Publish));
  85.                                 });
  86.                             library.Print();
  87.                             break;
  88.                         default:
  89.                             Console.WriteLine("Вы ошиблись выбором!");
  90.                             break;
  91.                     }
  92.                 }
  93.                 catch (FormatException)
  94.                 {
  95.                     Console.WriteLine("Попробуйте снова!");
  96.                 }
  97.             } while (choose != 0);
  98.         }
  99.         }
  100.     }
Advertisement
Add Comment
Please, Sign In to add comment