Problema 2


Notas

A resolver em grupo.

A resolução deste problema deve ser entregue até ao dia 16 de Abril de 1999.  A resolução deve ser entregue pessoalmente a um dos docentes da cadeira e consta de uma disquete, devidamente identificada, contendo apenas os ficheiros onde se encontra o código e os ficheiros de dados necessários para efectuar um teste.

A entrega do problema fora do prazo implica a penalização de um valor por cada dia útil de atraso.

O peso de cada questão na avaliação deste problema é indicado entre [] junto à mesma.


Questão 1

[100% - 20 valores]

Pretende-se implementar um programa para gerir uma colecção de moedas. Este programa deve permitir a inserção, remoção, listagem e procura de um registo de uma moeda. Deve também permitir calcular o valor actual de toda a colecção. Todas as alterações devem ser gravadas para um ficheiro por ordem do utilizador e carregadas sempre que o programa é chamado.

Deixa-se ao cuidado de cada grupo a definição do interface com o utilizador, devendo este ser explicado sumariamente no início do programa.

Cada registo de moeda da colecção deve conter informação sobre o nome da moeda, o ano em que foi cunhada, a nacionalidade, o seu valor actual no mercado e a quantidade de moedas deste tipo que o coleccionador possui.

Não podem existir registos repetidos de moedas. O resultado da inserção de uma moeda repetida deve ser o aumento do número de moedas dentro do registo desse tipo de moeda.

Recomenda-se a utilização da lista ligada que será completada nas aulas 4 e 5.

Pode também usar a lista completada na aula 2. No entanto, esta define um número máximo de itens e por isso impõe algumas restrições indesejáveis, como por exemplo o facto de existir um limite ao número de tipos de moedas inseridas.

Dado que as listas funcionam de igual modo do ponto de vista do utilizador, deverá conseguir facilmente substituir o tipo de listas usado, mesmo que inicialmente use a lista dada na aula 2.