O sistema de gerenciamento de consultas deverá prover, pelo menos as seguintes funcionalidades:
- Um menu com as seguinte opções:
- Cadastrar Médico
- Cadastrar Paciente
- Agendar Consulta
- Alterar Consulta
- Buscar Pessoa
- Lista Consultas
- Sair
- Cada opção do menu deverá estar modularizada em um método ou classe específico.
- Os cadastros deverão ter as seguintes validações:
- garantir que entradas numéricas recebam apenas números;
- garantir que entradas do tipo texto, não sejam vazias ou nulas;
- garantir que entradas do tipo data e hora sejam valores válidos;
- entradas como e-mail, telefones, CRM e CEP devem ser validadas;
- no caso de agendamento de consultas, deve-se verificar se a data e hora da consulta é maior ou igual a data e hora atual
- também deve-se evitar que uma mesma consulta seja marcada para a mesma data e hora de outra consulta já agendada
- O sistema deve conter uma estrutura de classes onde, uma classe abstrata Pessoa, será superclasse (pai) de Medico e Paciente.
- A busca de pessoas deverá ser feita por partes do nome da pessoa.
- A funcionalidade Listar Consultas, deverá exibir as consultas ordenadas por Data e Hora, em ordem crescente.