redSkywalker

1.4.1 - 1.4.2.2

Feb 12th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.16 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace _1._4._1
  8. {
  9.     class Note
  10.     {
  11.         public Book someBook;    
  12.         public string Text;
  13.  
  14.         public Note(string txt)
  15.         {
  16.             Text = txt;
  17.         }
  18.  
  19.         public Note()
  20.         {
  21.  
  22.         }
  23.  
  24.         public void AddNote()
  25.         {
  26.             someBook = new Book();
  27.             someBook.Books();
  28.             Console.WriteLine("В какую книгу вы хотите добавить заметку? (ID)");
  29.             someBook = CheckingBookID();
  30.  
  31.             Console.WriteLine("Книга найдена! Введите текст заметки.");
  32.             string _text = Console.ReadLine();
  33.             Note newNote = new Note(_text);
  34.             Book.NotesList.Add(newNote);
  35.             Console.WriteLine("Заметка успешно добавлена.");
  36.         }
  37.  
  38.  
  39.         public void ShowAllNotesInBook()
  40.         {
  41.             someBook = new Book();
  42.             someBook.Books();
  43.             Console.WriteLine("В какой книге вы хотите посмотреть записи? (ID)");
  44.             someBook = CheckingBookID();
  45.  
  46.             Console.WriteLine("Книга найдена! Все записи в этой книге: ");
  47.             foreach (Note n in Book.NotesList)
  48.             {
  49.                 Console.WriteLine(n.Text);
  50.             }
  51.         }
  52.  
  53.         public Book CheckingBookID()
  54.         {
  55.             someBook = new Book();
  56.             bool isFound = false;
  57.            
  58.             try
  59.             {
  60.                 int i = Int32.Parse(Console.ReadLine());
  61.                 foreach (Book b in Book.BooksList)
  62.                 {
  63.                     if (b.ID == i)
  64.                     {
  65.                         someBook = b;
  66.                         isFound = true;
  67.                     }
  68.  
  69.                 }
  70.                 if(isFound==false)
  71.                     {
  72.                     Console.WriteLine("Значение набрано неверно, либо такой книги еще нет. Введите правильное значение.");
  73.                     CheckingBookID();
  74.                 }
  75.             }
  76.             catch (Exception)
  77.             {
  78.                 Console.WriteLine("Значение набрано неверно, либо такой книги еще нет. Введите правильное значение.");
  79.                 CheckingBookID();
  80.             }
  81.             return someBook;
  82.         }
  83.     }
  84.  
  85.     class Book
  86.     {        
  87.         public static List<Book> BooksList = new List<Book>();
  88.         public static List<Note> NotesList = new List<Note>();
  89.         private static int idCount=0;
  90.         private int _bookID;
  91.  
  92.         public int ID
  93.         {
  94.             get { return _bookID; }
  95.             set { _bookID = value; }
  96.         }
  97.  
  98.         public Book()
  99.         {
  100.                        
  101.         }
  102.  
  103.         public Book(int _id=1)
  104.         {
  105.             ID = _id;
  106.         }
  107.  
  108.         public void AddBook()
  109.         {
  110.             Book newBook = new Book();
  111.             idCount += 1;
  112.             newBook.ID = idCount;
  113.             BooksList.Add(newBook);
  114.             Console.WriteLine("Новая книга успешно добавлена под ID {0}", newBook.ID);
  115.         }
  116.  
  117.        
  118.         public void Books()
  119.         {
  120.            
  121.             if(BooksList != null && BooksList.Count !=0)
  122.             {
  123.                 Console.WriteLine("Существующие книги:");
  124.                 foreach (Book b in BooksList)
  125.                 {
  126.                     Console.WriteLine("Книга ID{0}", b.ID);
  127.                 }
  128.             }
  129.             else
  130.             {
  131.                
  132.                 Console.WriteLine("В системе пока нет ни одной книги.");
  133.                 Console.WriteLine("Для добавления заметки будет создана новая книга.");
  134.                 AddBook();
  135.                
  136.             }
  137.            
  138.         }
  139.  
  140.     }
  141.  
  142.     class User
  143.     {
  144.         public string Name;
  145.         public static List<string> userLogins = new List<string>();
  146.  
  147.         public User()
  148.         {
  149.  
  150.         }
  151.         public User(string name)
  152.         {
  153.             Name = name;
  154.         }
  155.  
  156.         ~ User()
  157.         {
  158.             Console.Beep();
  159.             Console.WriteLine("Пользователь будет удален");
  160.         }
  161.  
  162.         public void AddUser()
  163.         {
  164.  
  165.             Console.WriteLine("Придумайте и введите имя/логин для нового пользователя.");
  166.             string _name = Console.ReadLine();
  167.             User user = new User();
  168.             user.Name = _name;
  169.             userLogins.Add(user.Name);
  170.             Console.WriteLine("Успешно создан пользователь {0}", user.Name);
  171.         }
  172.  
  173.         public void Login()
  174.         {
  175.             if (userLogins.Count == 0)
  176.             {
  177.                 Console.WriteLine("В системе нет ни одного пользователя.");
  178.                 Console.WriteLine("Новый пользователь будет создан.");
  179.                 AddUser();
  180.             }
  181.             Console.WriteLine("Для продолжения работы введите логин пользователя:");
  182.             string log = Console.ReadLine();
  183.             bool isAccepted = false;
  184.  
  185.  
  186.             foreach (string s in userLogins)
  187.             {
  188.                 if (log.Equals(s))
  189.                 {
  190.                     isAccepted = true;
  191.                 }
  192.             }
  193.             if (isAccepted == false)
  194.             {
  195.                 Console.WriteLine("Такого пользователя нет!");
  196.                 Login();
  197.             }
  198.  
  199.         }
  200.  
  201.         public void TestDestructor()
  202.             {
  203.             User testUser = new User("Маша");
  204.             testUser = null;
  205.             GC.Collect();
  206.             }
  207.         }  
  208.  
  209.    
  210.     class Program
  211.     {
  212.         static void ProgramMenu()
  213.         {
  214.             Book aBook = new Book();
  215.             Note aNote = new Note();
  216.             User aUser = new User();
  217.  
  218.             Console.WriteLine("Что вы хотите сделать?");
  219.             Console.WriteLine("[1] > Добавить нового пользователя");
  220.             Console.WriteLine("[2] > Добавить книгу");
  221.             Console.WriteLine("[3] > Добавить заметку");
  222.             Console.WriteLine("[4] > Показать все книги");
  223.             Console.WriteLine("[5] > Показать все заметки в книге");
  224.             Console.WriteLine("[6] > Тестировать деструктор");
  225.             string selection = Console.ReadLine();
  226.             switch (selection)
  227.             {
  228.                 case "1":
  229.                     {
  230.                         aUser.AddUser();
  231.                         break;
  232.                     }
  233.                 case "2":
  234.                     {
  235.                         aBook.AddBook();
  236.                         break;
  237.                     }
  238.                 case "3":
  239.                     {
  240.                         aUser.Login();
  241.                         aNote.AddNote();
  242.                         break;
  243.                     }
  244.                 case "4":
  245.                     {
  246.                         aUser.Login();
  247.                         aBook.Books();
  248.                         break;
  249.                     }
  250.                 case "5":
  251.                     {
  252.                         aUser.Login();
  253.                         aNote.ShowAllNotesInBook();
  254.                         break;
  255.                     }
  256.                 case "6":
  257.                     {
  258.                         aUser.TestDestructor();
  259.                         break;
  260.                     }
  261.  
  262.  
  263.             }
  264.  
  265.             Console.ReadKey();
  266.         }
  267.        
  268.  
  269.         static void Main(string[] args)
  270.         {
  271.             while(true)
  272.             {
  273.                 ProgramMenu();
  274.             }
  275.            
  276.         }
  277.  
  278.        
  279.     }
  280. }
Advertisement
Add Comment
Please, Sign In to add comment