Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace _1._4._1
- {
- class Note
- {
- public Book someBook;
- public string Text;
- public Note(string txt)
- {
- Text = txt;
- }
- public Note()
- {
- }
- public void AddNote()
- {
- someBook = new Book();
- someBook.Books();
- Console.WriteLine("В какую книгу вы хотите добавить заметку? (ID)");
- someBook = CheckingBookID();
- Console.WriteLine("Книга найдена! Введите текст заметки.");
- string _text = Console.ReadLine();
- Note newNote = new Note(_text);
- Book.NotesList.Add(newNote);
- Console.WriteLine("Заметка успешно добавлена.");
- }
- public void ShowAllNotesInBook()
- {
- someBook = new Book();
- someBook.Books();
- Console.WriteLine("В какой книге вы хотите посмотреть записи? (ID)");
- someBook = CheckingBookID();
- Console.WriteLine("Книга найдена! Все записи в этой книге: ");
- foreach (Note n in Book.NotesList)
- {
- Console.WriteLine(n.Text);
- }
- }
- public Book CheckingBookID()
- {
- someBook = new Book();
- bool isFound = false;
- try
- {
- int i = Int32.Parse(Console.ReadLine());
- foreach (Book b in Book.BooksList)
- {
- if (b.ID == i)
- {
- someBook = b;
- isFound = true;
- }
- }
- if(isFound==false)
- {
- Console.WriteLine("Значение набрано неверно, либо такой книги еще нет. Введите правильное значение.");
- CheckingBookID();
- }
- }
- catch (Exception)
- {
- Console.WriteLine("Значение набрано неверно, либо такой книги еще нет. Введите правильное значение.");
- CheckingBookID();
- }
- return someBook;
- }
- }
- class Book
- {
- public static List<Book> BooksList = new List<Book>();
- public static List<Note> NotesList = new List<Note>();
- private static int idCount=0;
- private int _bookID;
- public int ID
- {
- get { return _bookID; }
- set { _bookID = value; }
- }
- public Book()
- {
- }
- public Book(int _id=1)
- {
- ID = _id;
- }
- public void AddBook()
- {
- Book newBook = new Book();
- idCount += 1;
- newBook.ID = idCount;
- BooksList.Add(newBook);
- Console.WriteLine("Новая книга успешно добавлена под ID {0}", newBook.ID);
- }
- public void Books()
- {
- if(BooksList != null && BooksList.Count !=0)
- {
- Console.WriteLine("Существующие книги:");
- foreach (Book b in BooksList)
- {
- Console.WriteLine("Книга ID{0}", b.ID);
- }
- }
- else
- {
- Console.WriteLine("В системе пока нет ни одной книги.");
- Console.WriteLine("Для добавления заметки будет создана новая книга.");
- AddBook();
- }
- }
- }
- class User
- {
- public string Name;
- public static List<string> userLogins = new List<string>();
- public User()
- {
- }
- public User(string name)
- {
- Name = name;
- }
- ~ User()
- {
- Console.Beep();
- Console.WriteLine("Пользователь будет удален");
- }
- public void AddUser()
- {
- Console.WriteLine("Придумайте и введите имя/логин для нового пользователя.");
- string _name = Console.ReadLine();
- User user = new User();
- user.Name = _name;
- userLogins.Add(user.Name);
- Console.WriteLine("Успешно создан пользователь {0}", user.Name);
- }
- public void Login()
- {
- if (userLogins.Count == 0)
- {
- Console.WriteLine("В системе нет ни одного пользователя.");
- Console.WriteLine("Новый пользователь будет создан.");
- AddUser();
- }
- Console.WriteLine("Для продолжения работы введите логин пользователя:");
- string log = Console.ReadLine();
- bool isAccepted = false;
- foreach (string s in userLogins)
- {
- if (log.Equals(s))
- {
- isAccepted = true;
- }
- }
- if (isAccepted == false)
- {
- Console.WriteLine("Такого пользователя нет!");
- Login();
- }
- }
- public void TestDestructor()
- {
- User testUser = new User("Маша");
- testUser = null;
- GC.Collect();
- }
- }
- class Program
- {
- static void ProgramMenu()
- {
- Book aBook = new Book();
- Note aNote = new Note();
- User aUser = new User();
- Console.WriteLine("Что вы хотите сделать?");
- Console.WriteLine("[1] > Добавить нового пользователя");
- Console.WriteLine("[2] > Добавить книгу");
- Console.WriteLine("[3] > Добавить заметку");
- Console.WriteLine("[4] > Показать все книги");
- Console.WriteLine("[5] > Показать все заметки в книге");
- Console.WriteLine("[6] > Тестировать деструктор");
- string selection = Console.ReadLine();
- switch (selection)
- {
- case "1":
- {
- aUser.AddUser();
- break;
- }
- case "2":
- {
- aBook.AddBook();
- break;
- }
- case "3":
- {
- aUser.Login();
- aNote.AddNote();
- break;
- }
- case "4":
- {
- aUser.Login();
- aBook.Books();
- break;
- }
- case "5":
- {
- aUser.Login();
- aNote.ShowAllNotesInBook();
- break;
- }
- case "6":
- {
- aUser.TestDestructor();
- break;
- }
- }
- Console.ReadKey();
- }
- static void Main(string[] args)
- {
- while(true)
- {
- ProgramMenu();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment