1
resposta

[Projeto] Sistema de reservas de Hotel

Hospede.cs

public class Hospede
{
    public string Nome { get; set; }
    public Hospede(string nome)
    {
        this.Nome = nome;
    }
}

Quarto.cs

public class Quarto
{
    public int Numero { get; set; }
    private double valorDiaria;
    public double ValorDiaria
    {
        get { return valorDiaria; }
        set
        {
            if (value > 0)
                valorDiaria = value;
            else
                Console.WriteLine("Erro: O valor da diária deve ser maior que zero.");
        }
    }
    public Quarto(int numero)
    {
        this.Numero = numero;
    }
}

Reserva.cs

public class Reserva
{
    private int diarias;
    public Hospede Hospede { get; }
    public Quarto Quarto { get; }

    public Reserva(Hospede hospede, Quarto quarto, int diarias)
    {
        if (diarias <= 0)
        {
            throw new ArgumentException("O número de diárias deve ser maior que zero.");
        }

        Hospede = hospede;
        Quarto = quarto;
        this.diarias = diarias;
    }

    public double ValorTotal
    {
        get { return Quarto.ValorDiaria * diarias; }
    }
}

Program.cs

Hospede hospede = new Hospede("Matheus Oliveira");
Quarto quarto = new Quarto(65);
quarto.ValorDiaria = 365;

Reserva reserva = new Reserva(hospede, quarto, 3);

Console.WriteLine("Reserva para: " + reserva.Hospede.Nome);
Console.WriteLine("Quarto: " + reserva.Quarto.Numero);
Console.WriteLine("Valor total: R$ " + reserva.ValorTotal.ToString("F2"));
1 resposta

Oi, Matheus!

Mais um exercício que o seu código ficou excelente, muito limpo e bem estruturado.

Você aplicou os conceitos de encapsulamento com maestria.

Mandou muito bem! Continue praticando com essa mesma dedicação e construindo projetos sólidos assim.

Bons estudos!

Sucesso

Imagem da comunidade