Advertisement
vovanhik_24

#42

Oct 12th, 2023 (edited)
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.18 KB | None | 0 0
  1.     internal class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             const string ShowAllBooksCommand = "1";
  6.             const string AddBoockCommand = "2";
  7.             const string RemoveBoockCommand = "3";
  8.             const string SearchByTitleCommand = "4";
  9.             const string SearchByAuthorCommand = "5";
  10.             const string SearchByYearCommand = "6";
  11.             const string ExitCommand = "7";
  12.  
  13.             BookStorage storage = new BookStorage();
  14.             bool isWork = true;
  15.  
  16.             while (isWork)
  17.             {
  18.                 Console.WriteLine($"{ShowAllBooksCommand} ==> список книг.\n" +
  19.                     $"{AddBoockCommand} ==> Добавить книгу.\n{RemoveBoockCommand} ==> Удалить книгу.\n" +
  20.                     $"{SearchByTitleCommand} ==> Поиск по названию книги.\n{SearchByAuthorCommand} ==> Поиск по автору.\n" +
  21.                     $"{SearchByYearCommand} ==> Поиск по году выпуска.\n{ExitCommand} ==> Выход.");
  22.  
  23.                 Console.Write("\nВыбирите действие: ");
  24.                 string userInput = Console.ReadLine();
  25.  
  26.                 switch (userInput)
  27.                 {
  28.                     case ShowAllBooksCommand:
  29.                         storage.ShowAllBooks();
  30.                         break;
  31.  
  32.                     case AddBoockCommand:
  33.                         storage.AddBook();
  34.                         break;
  35.  
  36.                     case RemoveBoockCommand:
  37.                         storage.RemoveBook();
  38.                         break;
  39.  
  40.                     case SearchByTitleCommand:
  41.                         storage.ShowBooksByTitle();
  42.                         break;
  43.  
  44.                     case SearchByAuthorCommand:
  45.                         storage.ShowBooksByAuthor();
  46.                         break;
  47.  
  48.                     case SearchByYearCommand:
  49.                         storage.ShowBooksByYear();
  50.                         break;
  51.  
  52.                     case ExitCommand:
  53.                         isWork = false;
  54.                         break;
  55.  
  56.                     default:
  57.                         Console.WriteLine("Некорректный ввод");
  58.                         break;
  59.                 }
  60.  
  61.                 Console.Write("\nНажмите любую клавишу чтобы продолжить....");
  62.                 Console.ReadKey();
  63.                 Console.Clear();
  64.             }
  65.         }
  66.  
  67.         public class Book
  68.         {
  69.             public Book(string title, string author, int year)
  70.             {
  71.                 Title = title;
  72.                 Author = author;
  73.                 Year = year;
  74.             }
  75.  
  76.             public string Title { get; private set; }
  77.             public string Author { get; private set; }
  78.             public int Year { get; private set; }
  79.         }
  80.  
  81.         public class BookStorage
  82.         {
  83.             private List<Book> _books = new List<Book>();
  84.  
  85.             public void AddBook()
  86.             {
  87.                 Console.Write("Введите название книги: ");
  88.                 string title = Console.ReadLine();
  89.  
  90.                 Console.Write("Введите автора книги: ");
  91.                 string author = Console.ReadLine();
  92.  
  93.                 Console.Write("Введите год издания: ");
  94.                 int.TryParse(Console.ReadLine(), out int year);
  95.  
  96.                 _books.Add(new Book(title, author, year));
  97.             }
  98.  
  99.             public void RemoveBook()
  100.             {
  101.                 Console.Write("Введите номер книги для удаления: ");
  102.                 int boockNumber = Convert.ToInt32(Console.ReadLine()) - 1;
  103.  
  104.                 _books.Remove(_books[boockNumber]);
  105.             }
  106.  
  107.             public void ShowAllBooks()
  108.             {
  109.                 int bockNumber = 1;
  110.  
  111.                 Console.Clear();
  112.                 Console.WriteLine("Все книги:");
  113.  
  114.                 foreach (Book book in _books)
  115.                 {
  116.                     Console.WriteLine($"{bockNumber}| Название: {book.Title}, Автор: {book.Author}, Год выпуска: {book.Year}");
  117.                     bockNumber++;
  118.                 }
  119.             }
  120.  
  121.             public void ShowBooksByTitle()
  122.             {
  123.                 Console.Write("Введите название книги для поиска: ");
  124.                 string title = Console.ReadLine();
  125.  
  126.                 foreach (Book book in _books)
  127.                 {
  128.                     if (book.Title.ToLower() == title.ToLower())
  129.                     {
  130.                         Console.WriteLine($"Название: {book.Title}, Автор: {book.Author}, Год выпуска: {book.Year}");
  131.                     }
  132.                 }
  133.             }
  134.  
  135.             public void ShowBooksByAuthor()
  136.             {
  137.                 Console.Write("Введите автора книги для поиска: ");
  138.                 string author = Console.ReadLine();
  139.  
  140.                 foreach (Book book in _books)
  141.                 {
  142.                     if (book.Author.ToLower() == author.ToLower())
  143.                     {
  144.                         Console.WriteLine($"Название: {book.Title}, Автор: {book.Author}, Год выпуска: {book.Year}");
  145.                     }
  146.                 }
  147.             }
  148.  
  149.             public void ShowBooksByYear()
  150.             {
  151.                 Console.Write("Введите год издания: ");
  152.  
  153.                 if (int.TryParse(Console.ReadLine(), out int year))
  154.                 {
  155.                     foreach (Book book in _books)
  156.                     {
  157.                         if (book.Year == year)
  158.                         {
  159.                             Console.WriteLine($"Название: {book.Title}, Автор: {book.Author}, Год выпуска: {book.Year}");
  160.                         }
  161.                         else
  162.                         {
  163.                             Console.WriteLine("Книги по году издания не были найдены!");
  164.                         }
  165.                     }
  166.                 }
  167.             }
  168.         }
  169.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement