Problema 2
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.
[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.