Menu
Coddy logo textTech

Struktura projektu

Część sekcji Programowanie obiektowe ścieżki C# w Coddy. Lekcja 62 z 70.

challenge icon

Wyzwanie

Łatwy

Przygotujmy podstawy projektu Library System! Utworzysz podstawową strukturę plików, która w kolejnych lekcjach rozwinie się w kompletną aplikację do zarządzania biblioteką.

Rozmieścisz kod w czterech plikach, z których każdy będzie pełnić określoną funkcję:

  • Book.cs: Ten plik będzie zawierać model Book. Na razie utwórz klasę Book w przestrzeni nazw LibrarySystem z trzema automatycznie implementowanymi właściwościami: Title (string), Author (string) i IsAvailable (bool, domyślnie ustawioną na true). Dodaj konstruktor, który przyjmuje tytuł i autora jako parametry.
  • User.cs: Ten plik będzie zawierać model User. Utwórz klasę User w tej samej przestrzeni nazw, z dwiema właściwościami: Name (string) i MemberId (int). Dodaj konstruktor, który przyjmuje obie wartości.
  • Library.cs: To tutaj będzie znajdować się główna logika. Utwórz klasę Library z właściwością Name (string) i konstruktorem, który ją ustawia. Dodaj metodę o nazwie GetInfo(), która zwraca ciąg znaków w formacie "{Name} Library System Initialized".
  • Program.cs: Połącz tutaj wszystkie elementy. To punkt wejścia programu, w którym utworzysz instancje klas i sprawdzisz, czy struktura działa poprawnie.

Otrzymasz trzy dane wejściowe:

  • Nazwę biblioteki
  • Informacje o książce w formacie title|author
  • Informacje o użytkowniku w formacie name|memberId

Utwórz instancję Library z podaną nazwą, instancję Book z podanym tytułem i autorem oraz instancję User z podanym imieniem i nazwiskiem oraz identyfikatorem użytkownika. Następnie wypisz trzy wiersze:

  1. Wynik wywołania GetInfo() dla biblioteki
  2. Informacje o książce w formacie Book: {Title} by {Author} - Available: {IsAvailable}
  3. Informacje o użytkowniku w formacie User: {Name} (ID: {MemberId})

Na przykład, jeśli dane wejściowe to:

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

Wynik powinien być następujący:

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

Ta struktura jest zgodna z zasadą pojedynczej odpowiedzialności — każdy plik odpowiada za jeden konkretny zakres. W kolejnych lekcjach rozbudujesz te klasy o logikę wypożyczania, funkcję wyszukiwania i pełny interfejs konsolowy!

Spróbuj swoich sił

using System;

namespace LibrarySystem
{
    class Program
    {
        public static void Main(string[] args)
        {
            // Odczytaj dane wejściowe
            string libraryName = Console.ReadLine();
            string bookInput = Console.ReadLine();
            string userInput = Console.ReadLine();

            // Przeanalizuj dane wejściowe książki (format: title|author)
            string[] bookParts = bookInput.Split('|');
            string bookTitle = bookParts[0];
            string bookAuthor = bookParts[1];

            // Przeanalizuj dane wejściowe użytkownika (format: name|memberId)
            string[] userParts = userInput.Split('|');
            string userName = userParts[0];
            int memberId = Convert.ToInt32(userParts[1]);

            // TODO: Utwórz instancję Library z nazwą biblioteki

            // TODO: Utwórz instancję Book z tytułem i autorem

            // TODO: Utwórz instancję User z imieniem i identyfikatorem członka

            // TODO: Wyświetl informacje o bibliotece za pomocą GetInfo()

            // TODO: Wyświetl informacje o książce w formacie: Book: {Title} by {Author} - Available: {IsAvailable}

            // TODO: Wyświetl informacje o użytkowniku w formacie: User: {Name} (ID: {MemberId})
        }
    }
}

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator C# online