public string Especialidad;
public DateTime FechaTurno;
public override string ToString()
return $"{Id}: {Nombre} {Apellido}, Especialidad: {Especialidad}, Fecha del Turno: {FechaTurno:dd/MM/yyyy HH:mm}";
private Paciente[] pacientes;
public Agenda(int capacidad)
pacientes = new Paciente[capacidad];
public void AgregarTurno(Paciente nuevoPaciente)
if (contador < pacientes.Length)
pacientes[contador] = nuevoPaciente;
Console.WriteLine("Turno agregado correctamente.");
Console.WriteLine("Agenda completa. No se pueden agregar más turnos.");
public void ConsultarTurnosPorEspecialidad(string especialidad)
Console.WriteLine($"\nTurnos para la especialidad: {especialidad}");
foreach (var paciente in pacientes)
if (paciente.Especialidad == especialidad)
Console.WriteLine(paciente);
public void VisualizarTurnos()
Console.WriteLine("\nListado de turnos:");
foreach (var paciente in pacientes)
Console.WriteLine(paciente);
static void Main(string[] args)
Agenda agenda = new Agenda(5);
agenda.AgregarTurno(new Paciente { Id = 1, Nombre = "Juan", Apellido = "Pérez", Especialidad = "Cardiología", FechaTurno = new DateTime(2025, 1, 15, 9, 0, 0) });
agenda.AgregarTurno(new Paciente { Id = 2, Nombre = "Ana", Apellido = "Gómez", Especialidad = "Dermatología", FechaTurno = new DateTime(2025, 1, 15, 10, 0, 0) });
agenda.AgregarTurno(new Paciente { Id = 3, Nombre = "Luis", Apellido = "Martínez", Especialidad = "Neurología", FechaTurno = new DateTime(2025, 1, 16, 11, 0, 0) });
agenda.VisualizarTurnos();
agenda.ConsultarTurnosPorEspecialidad("Cardiología");
agenda.AgregarTurno(new Paciente { Id = 4, Nombre = "Sara", Apellido = "López", Especialidad = "Odontología", FechaTurno = new DateTime(2025, 1, 17, 12, 0, 0) });
agenda.AgregarTurno(new Paciente { Id = 5, Nombre = "Carlos", Apellido = "Jiménez", Especialidad = "Pediatría", FechaTurno = new DateTime(2025, 1, 18, 13, 0, 0) });
agenda.AgregarTurno(new Paciente { Id = 6, Nombre = "Lucía", Apellido = "Sánchez", Especialidad = "Oftalmología", FechaTurno = new DateTime(2025, 1, 19, 14, 0, 0) });
agenda.VisualizarTurnos();