1
resposta

[Projeto] Agendamento médico

class Consulta
{
    public string NomePaciente { get; set; }
    public string NomeMedico { get; set; }
    private DateTime DataConsulta { get; set; }
    private bool FoiReagendada { get; set; }

    public Consulta (string nomePaciente, string nomeMedico, DateTime data)
    {
        NomePaciente = nomePaciente;
        NomeMedico = nomeMedico;
        DataConsulta = data;
        FoiReagendada = false;
    }

    public void Reagendar(DateTime novaData)
    {
        DataConsulta = novaData;
        FoiReagendada = true;
    }

    public void ExibirResumo()
    {
        Console.WriteLine($"Consulta marcada com {NomeMedico} para o paciente {NomePaciente}.");
        if (FoiReagendada)
        {
            Console.WriteLine("Nova data: " + DataConsulta.ToString("dd/MM/yyyy"));
        } else
        {
            Console.WriteLine("Data: " + DataConsulta.ToString("dd/MM/yyyy"));
        }
        Console.WriteLine("");
    }
}
Consulta consulta = new Consulta("João Lima", "Dra. Renata", new DateTime(2025, 5, 20));
consulta.ExibirResumo();
consulta.Reagendar(new DateTime(2025, 5, 25));
consulta.ExibirResumo();
1 resposta

Oi, Matheus! Como vai?

Agradeço por compartilhar.

A sua implementação da classe Consulta ficou bem organizada. Chamou atenção o uso das propriedades para NomePaciente e NomeMedico, além do controle interno com DataConsulta e FoiReagendada. A lógica do método ExibirResumo() também ficou clara ao diferenciar quando a consulta foi reagendada ou não, o que demonstra um bom entendimento de encapsulamento e organização de responsabilidades dentro da classe.

Você pode utilizar o método AddDays() da classe DateTime, que permite ajustar datas de forma prática.


DateTime dataConsulta = new DateTime(2025, 5, 20);
DateTime novaData = dataConsulta.AddDays(5);

Console.WriteLine(novaData);
Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!