Menu
Coddy logo textTech

Estrutura do Projeto

Parte da seção Programação Orientada a Objetos do Journey de C# da Coddy. Lição 62 de 70.

challenge icon

Desafio

Fácil

Vamos configurar a base do seu projeto Library System! Você criará a estrutura básica de arquivos que se transformará em uma aplicação completa de gerenciamento de biblioteca ao longo das próximas lições.

Você organizará seu código em quatro arquivos, cada um com uma responsabilidade específica:

  • Book.cs: Este arquivo conterá seu modelo Book. Por enquanto, crie uma classe Book no namespace LibrarySystem com três propriedades implementadas automaticamente: Title (string), Author (string) e IsAvailable (bool, com valor padrão true). Adicione um construtor que receba o título e o autor como parâmetros.
  • User.cs: Este arquivo conterá seu modelo User. Crie uma classe User no mesmo namespace com duas propriedades: Name (string) e MemberId (int). Inclua um construtor que aceite ambos os valores.
  • Library.cs: É aqui que ficará sua lógica principal. Crie uma classe Library com uma propriedade Name (string) e um construtor para defini-la. Adicione um método chamado GetInfo() que retorne uma string no formato "{Name} Library System Initialized".
  • Program.cs: Reúna tudo aqui. Este é o ponto de entrada onde você criará instâncias das suas classes e verificará se a estrutura funciona corretamente.

Você receberá três entradas:

  • O nome da biblioteca
  • Uma entrada de livro no formato title|author
  • Uma entrada de usuário no formato name|memberId

Crie uma instância de Library com o nome fornecido, um Book com o título e o autor fornecidos e um User com o nome e o ID de membro fornecidos. Em seguida, imprima três linhas:

  1. O resultado da chamada de GetInfo() na sua biblioteca
  2. As informações do livro no formato Book: {Title} by {Author} - Available: {IsAvailable}
  3. As informações do usuário no formato User: {Name} (ID: {MemberId})

Por exemplo, se as entradas forem:

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

A saída deverá ser:

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

Essa estrutura segue o Princípio da Responsabilidade Única — cada arquivo cuida de uma preocupação específica. Nas próximas lições, você expandirá essas classes com lógica de empréstimo, funcionalidade de pesquisa e uma interface de console completa!

Experimente você mesmo

using System;

namespace LibrarySystem
{
    class Program
    {
        public static void Main(string[] args)
        {
            // Ler as entradas
            string libraryName = Console.ReadLine();
            string bookInput = Console.ReadLine();
            string userInput = Console.ReadLine();

            // Analisar a entrada do livro (formato: title|author)
            string[] bookParts = bookInput.Split('|');
            string bookTitle = bookParts[0];
            string bookAuthor = bookParts[1];

            // Analisar a entrada do usuário (formato: name|memberId)
            string[] userParts = userInput.Split('|');
            string userName = userParts[0];
            int memberId = Convert.ToInt32(userParts[1]);

            // TODO: Criar uma instância de Library com o library name

            // TODO: Criar uma instância de Book com o title e author

            // TODO: Criar uma instância de User com o name e member ID

            // TODO: Imprimir as informações da biblioteca usando GetInfo()

            // TODO: Imprimir as informações do livro no formato: Book: {Title} by {Author} - Available: {IsAvailable}

            // TODO: Imprimir as informações do usuário no formato: User: {Name} (ID: {MemberId})
        }
    }
}

Todas as lições de Programação Orientada a Objetos

Pratique por conta própria: Compilador de C# online