Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace C_Sharp_Junior
- {
- class StorageBook
- {
- private static List<Book> _books;
- static StorageBook()
- {
- _books = new List<Book> { new Book("Пушкин А.С.", "Борис Годунов", 1825), new Book("Пушкин А.С.", "Цыганы", 1824), new Book("Толстой Л.Н.", "Война и мир", 1867), new Book("Тест", "Тест", 1824) };
- }
- static void Main()
- {
- // Создать хранилище книг.
- // Каждая книга имеет название, автора и год выпуска(можно добавить еще параметры).
- // В хранилище можно добавить книгу, убрать книгу, показать все книги и показать
- // книги по указанному параметру(по названию, по автору, по году выпуска).
- bool isExit = false;
- while (!isExit)
- {
- Console.Clear();
- Console.WriteLine("------------------- МЕНЮ -------------------");
- Console.Write("1 - Добавить книгу\n2 - Удалить книгу\n3 - Показать все книги\n4 - Найти книгу по параметру\n5 - Завершить работу\nВвод: ");
- string userInput = Console.ReadLine();
- switch (userInput)
- {
- case "1":
- AddBook();
- break;
- case "2":
- DeleteBook();
- break;
- case "3":
- AllShowBooks();
- break;
- case "4":
- FindBooksParameter();
- break;
- case "5":
- isExit = true;
- break;
- }
- Console.WriteLine("Нажмите любую кнопку для продолжения");
- Console.ReadKey();
- }
- Console.WriteLine("ПОКА");
- }
- private static void AddBook()
- {
- Console.Write("Введите ФИО автора книги: ");
- string author = Console.ReadLine();
- Console.Write("Введите название книги: ");
- string title = Console.ReadLine();
- Console.Write("Введите год публикации книги: ");
- bool successfulConversion = int.TryParse(Console.ReadLine(), out int yearPublication);
- if (successfulConversion)
- {
- _books.Add(new Book(author, title, yearPublication));
- _books[_books.Count - 1].ShowInfo();
- Console.WriteLine("Книга добавлена");
- }
- }
- private static void DeleteBook()
- {
- if (_books.Count == 0)
- {
- Console.WriteLine("В хранилище нет книг");
- return;
- }
- Console.Write("Введите ID книги которую хатите удалить: ");
- bool successfulConversion = int.TryParse(Console.ReadLine(), out int inputNumber);
- if (successfulConversion && inputNumber <= _books.Count && inputNumber > 0)
- {
- _books[inputNumber].ShowInfo();
- _books.RemoveAt(inputNumber);
- Console.WriteLine("Книга удалена");
- }
- else
- {
- Console.WriteLine("Такой книги нет");
- }
- }
- private static void AllShowBooks()
- {
- if (_books.Count == 0)
- {
- Console.WriteLine("В хранилище нет книг");
- return;
- }
- foreach (Book book in _books)
- {
- book.ShowInfo();
- }
- }
- private static void FindBooksParameter()
- {
- if (_books.Count == 0)
- {
- Console.WriteLine("В хранилище нет книг");
- return;
- }
- Console.Write("Введите параметр поиска (например это может быть ID, Название книги, Автор, Год публикации): ");
- string userInput = Console.ReadLine();
- bool successfulConversion = int.TryParse(userInput, out int inputNumber);
- foreach (Book book in _books)
- {
- if (userInput == book.Author || userInput == book.Title || (inputNumber == book.ID && successfulConversion) || (inputNumber == book.YearPublication && successfulConversion))
- book.ShowInfo();
- }
- }
- }
- class Book
- {
- private static int sID = 0;
- public readonly int ID;
- public string Title { get; private set; }
- public string Author { get; private set; }
- public int YearPublication { get; private set; }
- public Book(string author, string title, int yearPublication)
- {
- this.ID = sID++;
- this.Author = author;
- this.Title = title;
- this.YearPublication = yearPublication;
- }
- public void ShowInfo() => Console.WriteLine($"ID: {ID} | Название: {Title} | Автор: {Author} | Год издания: {YearPublication}");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment