Написать программу "Библиотека": пользователь вводит и сохраняет список собственных книг - C#

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

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

Написать программу: «Библиотека»: пользователь вводит и сохраняет список собственных книг, может его просматривать, дополнять, осуществлять поиск. в Microsoft Visual Studio должна быть написана, в Консольное приложение.

Решение задачи: «Написать программу "Библиотека": пользователь вводит и сохраняет список собственных книг»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Xml.Serialization;
  6.  
  7. namespace Library
  8. {
  9.     class Program
  10.     {
  11.         private static List<Book> books;
  12.  
  13.         static void Main(string[] args)
  14.         {
  15.             books = !File.Exists("lib.xml") ? new List<Book>() : DeserializeFromXML();
  16.             bool flag = true;
  17.             while (flag)
  18.             {
  19.                 switch (Console.ReadLine())
  20.                 {
  21.                     case "add":
  22.                         Console.WriteLine("Что бы добавить книгу введите через запятую\n" +
  23.                                           "Имя автора, название книги, название издательства");
  24.                         string readLine = Console.ReadLine();
  25.                         if (readLine != null)
  26.                         {
  27.                             string[] temp = readLine.Split(',');
  28.                             Add(temp[0], temp[1], temp[2]);
  29.                         }
  30.                         break;
  31.                     case "exit":
  32.                         flag = false;
  33.                         break;
  34.  
  35.                     case "print":
  36.                         Print();
  37.                         break;
  38.  
  39.                     case "delete":
  40.                         Console.WriteLine("Введите название книги которую вы хотите удалить");
  41.                         Delete(Console.ReadLine());
  42.                         break;
  43.  
  44.                     case "save":
  45.                         SerializeToXML(books);
  46.                         break;
  47.  
  48.                     case "load":
  49.                         books = DeserializeFromXML();
  50.                         break;
  51.  
  52.                     default:
  53.                         Console.WriteLine("Нет такой команды");
  54.                         break;
  55.                 }
  56.             }
  57.         }
  58.  
  59.         private static void Delete(string name)
  60.         {
  61.             foreach (Book book in books.Where(b => b.Name == name))
  62.             {
  63.                 Console.WriteLine("Удаление...");
  64.                 Console.WriteLine("Название: {0}, Автор: {1}, Издательство: {2}", book.Name, book.Author, book.Publisher);
  65.                 books.Remove(book);
  66.                 break;
  67.             }
  68.         }
  69.         private static void Print()
  70.         {
  71.             foreach (Book book in books)
  72.             {
  73.                 Console.WriteLine("Название: {0}, Автор: {1}, Издательство: {2}", book.Name, book.Author, book.Publisher);
  74.             }
  75.         }
  76.  
  77.  
  78.         private static void Add(
  79.             string author,
  80.             string name,
  81.             string publisher)
  82.         {
  83.             books.Add(new Book(author, name, publisher));
  84.         }
  85.  
  86.         static public void SerializeToXML(List<Book> lib)
  87.         {
  88.             XmlSerializer serializer = new XmlSerializer(typeof(List<Book>));
  89.             TextWriter textWriter = new StreamWriter(@"lib.xml");
  90.             serializer.Serialize(textWriter, lib);
  91.             textWriter.Close();
  92.         }
  93.  
  94.         static List<Book> DeserializeFromXML()
  95.         {
  96.             XmlSerializer deserializer = new XmlSerializer(typeof(List<Book>));
  97.             TextReader textReader = new StreamReader(@"lib.xml");
  98.             List<Book> lib = (List<Book>)deserializer.Deserialize(textReader);
  99.             textReader.Close();
  100.  
  101.             return lib;
  102.         }
  103.     }
  104. }

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


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

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

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы