Домашняя библиотека. Удаление и добавление книг - C#

Узнай цену своей работы

Формулировка задачи:

Есть уже такой вариант домашней библиотеки, но удаление работает неправильно (удаляет первую книгу в списке вместо указаной). Буду благодарен, кто сможет помочь решить эту проблему, а также сможет добавить возможность добавления книг после удаления (уже после запуска в консоли) и добавит исключения в случаи ошибки)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace lab5
{
    public class HomeLibrary
    {
        public int Number { get; set; }
        public string Author { get; set; }
        public int Year { get; set; }
        public string Category { get; set; }
 
        List<HomeLibrary> homeLibraryList = new List<HomeLibrary>();
 
        public void Add(HomeLibrary homeLibrary)
        {
            homeLibraryList.Add(homeLibrary);
        }
 
        public void Remove(HomeLibrary homeLibrary)
        {
            homeLibraryList.Remove(homeLibrary);
 
        }
        public override bool Equals(object obj)
        {
            if (obj == null) return false;
 
            HomeLibrary objHomeLibrary = obj as HomeLibrary;
            if (objHomeLibrary == null)
                return false;
            return true;
        }
 
        public override string ToString()
        {
            return Number + " " + Author + " " + Year + " " + Category;
        }
 
        public void ShowScreen()
        {
            foreach (var VARIABLE in homeLibraryList)
            {
                Console.WriteLine(VARIABLE.ToString());
            }
            Console.WriteLine("\n");
        }
 
        public void Search(string str, int number)
        {
 
            foreach (var VARIABLE in homeLibraryList)
            {
                if (number == 1 && VARIABLE.Author == str)
                {
                    Console.WriteLine(VARIABLE.ToString());
                }
                else if (number == 2 && VARIABLE.Year == Convert.ToInt32(str))
                {
                    Console.WriteLine(VARIABLE.ToString());
                }
                else if (number == 3 && VARIABLE.Category == str)
                {
                    Console.WriteLine(VARIABLE.ToString());
                }
                else if (number == 4 && VARIABLE.Number == Convert.ToInt32(str))
                {
                    Console.WriteLine(VARIABLE.ToString());
                }
            }
 
        }
        static void Main(string[] args)
        {
            HomeLibrary homeLibrary = new HomeLibrary();
            homeLibrary.Add(new HomeLibrary { Number = 1, Author = "Ессенин", Year = 1900, Category = "Стихи" });
            homeLibrary.Add(new HomeLibrary { Number = 2, Author = "Пушкин", Year = 1910, Category = "Рассказы" });
            homeLibrary.Add(new HomeLibrary { Number = 3, Author = "Лермонтов", Year = 1920, Category = "Басни" });
            homeLibrary.Add(new HomeLibrary { Number = 4, Author = "Достоевский", Year = 1910, Category = "Стихи" });
            homeLibrary.ShowScreen();
            homeLibrary.Remove(new HomeLibrary { Number = 3, Author = "Лермонтов", Year = 1920, Category = "Басни" });
            homeLibrary.ShowScreen();
 
            Console.WriteLine("По какому критерию будем производить поиск? (По автору-1, год издания-2, по категории-3," +
                             "по номеру -4)");
            int number = int.Parse(Console.ReadLine());
 
            switch (number)
            {
                case 1: Console.WriteLine("Введите *писателя");
                    homeLibrary.Search(Console.ReadLine(), number);
                    break;
                case 2: Console.WriteLine("Введите *год издания");
                    homeLibrary.Search(Console.ReadLine(), number);
                    break;
                case 3: Console.WriteLine("Введите *категорию");
                    homeLibrary.Search(Console.ReadLine(), number);
                    break;
                case 4: Console.WriteLine("Введите *номер книги");
                    homeLibrary.Search(Console.ReadLine(), number);
                    break;
                default: Console.WriteLine("Не правильный критерий");
                    break;
            }
 
            Console.ReadLine();
        }
    }
}

Решение задачи: «Домашняя библиотека. Удаление и добавление книг»

textual
Листинг программы
return ToString() == obj.ToString();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы