Menu
Coddy logo textTech

Структура проекта

Часть раздела Объектно-ориентированное программирование путешествия по C# на Coddy — урок 62 из 70.

challenge icon

Задание

Легко

Давайте заложим основу для вашего проекта Библиотечной системы! Вы создадите базовую структуру файлов, которая в ходе последующих уроков превратится в полноценное приложение для управления библиотекой.

Вы организуете свой код в четырех файлах, каждый из которых отвечает за определенную задачу:

  • Book.cs: Этот файл будет содержать вашу модель книги. Пока что создайте класс Book в пространстве имен LibrarySystem с тремя автоматически реализуемыми свойствами: Title (string), Author (string) и IsAvailable (bool, по умолчанию true). Добавьте конструктор, который принимает название и автора в качестве параметров.
  • User.cs: Этот файл будет содержать вашу модель пользователя. Создайте класс User в том же пространстве имен с двумя свойствами: Name (string) и MemberId (int). Включите конструктор, который принимает оба значения.
  • Library.cs: Здесь будет находиться ваша основная логика. Создайте класс Library со свойством Name (string) и конструктором для его установки. Добавьте метод GetInfo(), который возвращает строку в формате "{Name} Library System Initialized".
  • Program.cs: Объедините все здесь. Это ваша точка входа, где вы будете создавать экземпляры своих классов и проверять правильность работы структуры.

Вы получите три входных значения:

  • Название библиотеки
  • Запись о книге в формате title|author
  • Запись о пользователе в формате name|memberId

Создайте экземпляр Library с заданным именем, Book с указанным названием и автором, и User с указанным именем и ID участника. Затем выведите три строки:

  1. Результат вызова GetInfo() для вашей библиотеки
  2. Информацию о книге в формате Book: {Title} by {Author} - Available: {IsAvailable}
  3. Информацию о пользователе в формате User: {Name} (ID: {MemberId})

Например, если входные данные:

City Central
The Great Gatsby|F. Scott Fitzgerald
Alice Johnson|1001

Вывод должен быть следующим:

City Central Library System Initialized
Book: The Great Gatsby by F. Scott Fitzgerald - Available: True
User: Alice Johnson (ID: 1001)

Эта структура следует принципу единственной ответственности (Single Responsibility Principle) — каждый файл отвечает за одну конкретную задачу. В следующих уроках вы расширите эти классы логикой заимствования, функционалом поиска и полноценным консольным интерфейсом!

Попробуйте сами

using System;

namespace LibrarySystem
{
    class Program
    {
        public static void Main(string[] args)
        {
            // Чтение входных данных
            string libraryName = Console.ReadLine();
            string bookInput = Console.ReadLine();
            string userInput = Console.ReadLine();

            // Разбор данных о книге (формат: название|автор)
            string[] bookParts = bookInput.Split('|');
            string bookTitle = bookParts[0];
            string bookAuthor = bookParts[1];

            // Разбор данных о пользователе (формат: имя|ID участника)
            string[] userParts = userInput.Split('|');
            string userName = userParts[0];
            int memberId = Convert.ToInt32(userParts[1]);

            // TODO: Создать экземпляр Library с названием библиотеки

            // TODO: Создать экземпляр Book с названием и автором

            // TODO: Создать экземпляр User с именем и ID участника

            // TODO: Вывести информацию о библиотеке, используя GetInfo()

            // TODO: Вывести информацию о книге в формате: Book: {Title} by {Author} - Available: {IsAvailable}

            // TODO: Вывести информацию о пользователе в формате: User: {Name} (ID: {MemberId})
        }
    }
}

Все уроки раздела Объектно-ориентированное программирование