
Variacao: base de hospital:

Numero paciente | Nome | DOENCA | TRATAMENTO


MC326: Estruturas de Arquivos  2003/s1


Neste primeiro Trabalho Pratico (TP), voce vai definir uma base de dados
para consultas em uma lista telefonica contendo os seguintes campos:

1. Numero do telefone (chave primaria de ate 8 caracteres)
2. Nome do assinante (campo de no maximo 3 subcampos)
3. Rua/Avenida (campo de no maximo 3 subcampos)
4. Numero da residencia (campo de tamanho livre)
5. Bairro (campo de no maximo 2 subcampos)
 
O Numero do telefone pode ser definido aleatoriamente com o cuidado de
se evitar repeticoes, ja que o mesmo constitui uma chave primaria.

Os demais campos tambem podem ser definidos aleatoriamente.

Para o campo bairro, defina um conjunto qualquer de nomes (no minimo 10), por exemplo:

1. Botafogo 
2. Barao Geraldo
3. Centro
4. Campos Eliseos
5. ...
 

e, aleatoriamente, atribua um destes ao referido assinante.

 

Exemplo de um registro:

32222333 * SAPXS CGHY LMOPR *  DFRT TYUUU TYHJK * 34 * Botafogo 


TAREFA:

1. Gere uma base de dados contendo registros de acordo com a especificacao acima
considerando registros de tamanho fixo e campos de tamanho variavel. 
O tamanho da base eh um parametro de entrada fornecido pelo usuario.

2. Implemente uma função que calcule o numero de assinantes por bairro. 

3. Implemente uma funcao que dado um Numero de telefone mostre o conteudo do 
respectivo registro.

4. Escreva um relatorio explicando sua solucao para a geracao aleatoria dos campos da base, para
 a representacao dos campos da base, e para o tamanho dos registros. 

Data de Entrega: 18/03.
Forma de Entrega: Os programas (fonte), Makefile, e base de dados devem ser entregues 
em diskette. O relatorio deve ser impresso.

