Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace task2_2
- {
- class Program
- {
- public delegate int SortDel(Book a, Book b);
- public class Book
- {
- public string Author;
- public string Name;
- public string Publish;
- public Book() { }
- }
- public class Library
- {
- private List<Book> books;
- public void Add(Book element) {
- books.Add(element);
- }
- public void Sort(Comparison<Book> funk) {
- books.Sort(funk);
- }
- public void Print() {
- foreach (var i in books)
- Console.WriteLine("Имя автора: " + i.Author + "\t Название творчества: " + i.Name + "\t Изадтельство: " + i.Publish);
- }
- public Library() {
- books = new List<Book>();
- }
- }
- public delegate Library Sortt(Book a, Book b);
- private static void Main(string[] args) {
- Library library = new Library();
- int? choose = null;
- library.Add(new Book() { Author = "Tom", Name = "Sity", Publish = "Vill" });
- library.Add(new Book() { Author = "Den", Name = "Volja", Publish = "Piter" });
- library.Add(new Book() { Author = "Alex", Name = "Bel", Publish = "Kot" });
- library.Add(new Book() { Author = "Robert", Name = "Nice", Publish = "Village" });
- library.Add(new Book() { Author = "John", Name = "Rockstar", Publish = "Hell" });
- library.Add(new Book() { Author = "Zee", Name = "Ko", Publish = "Waaar!" });
- library.Print();
- do
- {
- Console.WriteLine("\n1. Сортировка по имени;\n2. Сортировка по автору;\n3. Сортировка по книге;\n0 - для выхода из программы.");
- Console.Write("Выберите метод сортировки: ");
- try
- {
- choose = Int32.Parse(Console.ReadLine());
- switch (choose)
- {
- case 0:
- Console.WriteLine("До скорых встреч!");
- break;
- case 1:
- Console.Clear();
- library.Sort(
- delegate (Book a, Book b)
- {
- return (a.Name.CompareTo(b.Name));
- });
- library.Print();
- break;
- case 2:
- Console.Clear();
- library.Sort(
- delegate (Book a, Book b)
- {
- return (a.Author.CompareTo(b.Author));
- });
- library.Print();
- break;
- case 3:
- Console.Clear();
- library.Sort(
- delegate (Book a, Book b)
- {
- return (a.Publish.CompareTo(b.Publish));
- });
- library.Print();
- break;
- default:
- Console.WriteLine("Вы ошиблись выбором!");
- break;
- }
- }
- catch (FormatException)
- {
- Console.WriteLine("Попробуйте снова!");
- }
- } while (choose != 0);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment