![]() |
António Roberto Software |
|
Linguagens
de Programação 1
|
2º
ano da Licenciatura em Informática de Gestão
|
Aulas de 23 e 24 de Maio de 2002
4ª Etapa do Trabalho final
Aviso : O prazo de entrega do trabalho final é 14 de Junho. Cada grupo deverá entregar uma diskette com a solução na aula de 14 de Junho. Aconselha-se os alunos a cumprirem os tempos atribuídos às diversas etapas.
Passagem da versão 4 para a versão 5 do protótipo EditorGrafos
Lista de funcionalidades a implementar na versão 5 :
- Cada nó deverá ter uma lista dos arcos que lhe estão ligados
- Objectivo : Obter uma estrutura de dados que facilite a escrita dos algoritmos.
- Pistas
- Assegure-se que a lista de arcos da classe CEditorGrafosDoc é uma lista de ponteiros para objectos CArco
- Na etapa 2, era indiferente a escolha entre uma lista de arcos ou uma lista de ponteiros para arcos.
- Se na etapa 2 optou por uma lista de arcos, altere agora essa lista para uma lista de ponteiros
- Adapte cirúrgicamente o restante código de acordo com essa alteração
- Acrescente uma lista de ponteiros para arcos na classe CNo
- Para um nó particular, a lista de arcos será actualizada sempre que se adicione um arco com ligação a esse nó
- Não esquecer de rever os procedimentos de serialização dos objectos
- Não é necessário gravar a lista de arcos de cada nó num File/Save
Mas é necessário reconstruí-la num File/Open
- Acrescente a propriedade Nome à classe CNo
Pista : O Nome de um nó é a letra que aparece no centro do nó.
- Declare e implemente o método Vizinho na classe CNo
- Assinatura : CNo *Vizinho( CArco *pArco )
Objectivo : Obter um ponteiro para o nó que está ligado, através do arco passado como parâmetro, ao objecto nó receptor da mensagem.
- Utilize a status bar (situada na parte de baixo da frame ) para mostrar informações acerca de um nó
- Objectivo : Mostrar ao utilizador algumas informações do nó sobre o qual está o ponteiro do rato
- Pistas
- Utilize o evento OnMouseMove para verificar se o rato está por cima de um nó
- Só no caso de nenhum dos botões estar seleccionado
- Escreva na status bar
- Investigue o método SetPaneText do objecto m_wndStatusBar na classe CMainFrame
- As seguintes informações :
- Nome do nó
- Grau do nó : nr de arcos ligados ao nó
- Os nomes dos nós que lhe são vizinhos
- Solução só disponível no final do prazo de entrega do trabalho.
Projecto : EditorGrafos ( versão 5 )Tipo : MFC AppWizard( exe ) SDI Document Zip file com o projecto :