0
respostas

[Projeto] Desafio: Hora da prática

Criar um construtor para a classe Titular, que inicialize todas suas propriedades

class Titular2
{
    public Titular2(string nome, string cpf, string endereco)
    {
        Nome = nome;
        Cpf = cpf;
        Endereco = endereco;
    }

    public string? Nome { get; }
    public string? Cpf { get; }
    public string? Endereco { get; }
}

Criar um construtor para a classe Conta, que inicialize todas suas propriedades

class Conta2
{
    public Titular2 Titular { get; }
    public int Agencia { get; }
    public int NumeroDaConta { get; }
    public double Saldo { get; }
    public double Limite { get; }

    public string Informacoes => $"Conta nº {this.NumeroDaConta}, Agência {this.Agencia}, Titular: {this.Titular.Nome} - Saldo: {this.Saldo}";

    public Conta2(Titular2 titular, int agencia, int numerodaconta, double saldo, double limite)
    {
        Titular = titular;
        Agencia = agencia;
        NumeroDaConta = numerodaconta;
        Saldo = saldo;
        Limite = limite;
    }



    public void ExibirDetalhes ()
    {
        Console.WriteLine($"Nome Titular: {Titular.Nome}");
        Console.WriteLine($"CFP do Titular: {Titular.Cpf}");
        Console.WriteLine($"Endereço do Titular: {Titular.Endereco}");
        Console.WriteLine($"Agência: {Agencia}");
        Console.WriteLine($"Número Da Conta: {NumeroDaConta:D3}");
        Console.WriteLine($"Saldo: {Saldo}");
        Console.WriteLine($"Limite: {Limite}");
    }
}

Instanciar uma Conta e exibir suas informações na tela, utilizando construtores.

var usuario = new Titular2("Sunny", "000.000.000-00", "Empire State Street");


var conta = new Conta2(usuario, 777, 001, 2000.0, 3000.0);

Console.WriteLine($"{conta.Informacoes}\n");
//ou
conta.ExibirDetalhes();

Desenvolver uma classe que representa um catálogo de jogos, com uma lista de Jogos
e métodos para manipular essa lista, bem como um construtor que faça sua
inicialização.

class Jogos
{
    public Jogos(string nome, string genero, int anoLancamento, decimal preco)
    {
        Nome = nome;
        Genero = genero;
        AnoLancamento = anoLancamento;
        Preco = preco;
    }
    public string Nome { get; }
    public string Genero { get; }
    public int AnoLancamento { get; }
    public decimal Preco { get; }

}

class CatalogoJogoss
{
    public CatalogoJogoss()
    {
        CatalogoJogos = new List<Jogos> ();
    }
    public List<Jogos> CatalogoJogos { get; set; }
    public bool CatalogoVazio => CatalogoJogos.Count == 0;

    public void AdicionarJogo(string nome, string genero, int anolancamento, decimal preco)
    {
        Jogos novoJogo = new Jogos(nome, genero, anolancamento, preco);
        CatalogoJogos.Add(novoJogo);
        Console.WriteLine($"Jogo {novoJogo.Nome} adicionado com sucesso!\n");
    }

    public void RemoverJogo(string nome)
    {
        Jogos? jogo = CatalogoJogos.FirstOrDefault(game => game.Nome == nome);
        if (jogo != null)
        {
            CatalogoJogos.Remove(jogo);
        }
        else
        {
            Console.WriteLine("Jogo não encontrado!");
        }
    }

    public void ExibirCatalogo ()
    {
       if (CatalogoVazio)
        {
            Console.WriteLine("\nNão existe nenhum jogo no catálogo atualmente.");
        }
       else
        {
            Console.WriteLine("Catálogo de jogos abaixo: \n");
            foreach (Jogos jogo in CatalogoJogos)
            {
                Console.WriteLine($"Nome: {jogo.Nome}");
                Console.WriteLine($"Gênero: {jogo.Genero}");
                Console.WriteLine($"Ano de Lançamento: {jogo.AnoLancamento}");
                Console.WriteLine($"Preço: ${jogo.Preco}\n");
            }
        }
    }
}

Program.cs

var jogoA = new CatalogoJogoss();


Console.Clear();
jogoA.ExibirCatalogo();
Thread.Sleep(4000);

Console.Clear();
jogoA.AdicionarJogo("Doom", "Ação", 2001, 120.99m);
jogoA.AdicionarJogo("God of War", "Ação", 2015, 200.99m);
jogoA.ExibirCatalogo();