Algortimos e Estrutras de Dados II
Trabalho I - Contas Bancárias
Resumo
Neste
trabalho você deverá criar um programa que leia um arquivo com dados de
contas bancárias, execute operações descritas neste arquivo e grave um
novo arquivo com um relatório sobre as contas.
Descrição
O programa deve ler três arquivos cujos nomes devem ser passados como parâmetro na execução do programa, da seguinte forma:
./banco ClientesBancoFalido.txt ContasFantasma.txt OperacoesFraudulentas20Mar2021.txt
O arquivo de clientes deve ter o seguinte formato(o que está em vermelho não faz parte do arquivo):
3 <<< Este número representa a quantidade de clientes no arquivo
Nome do Cliente 1
112 <<< Este número representa o CPF do cliente 1
Nome do Cliente 2
30212 <<< Este número representa o CPF do cliente
Nome do Cliente 3
34673
O arquivo de contas deve ter o seguinte formato:
3 <<< Este número representa a quantidade de contas no arquivo
30212 << Identificação do Cliente
123.45 << Saldo do cliente 30212
34673
567.45
112
12463.45
O arquivo de operações deve ter o seguinte formato:
4 << Este número representa a quantidade de operações no arquivo
112 << Identificação do Cliente
-123.20 << Valor do saque na conta do cliente de CPF 112
30212
-304.45
112
45.20
34673
4456.13 << Valor do depósito na conta do cliente de CPF 34673
Ao final o programa deve:
- gerar um relatório, na tela, com o
nome do cliente e seu saldo bancário, após a execução das operações,
ordenado pelo nome do cliente;
- gravar uma nova versão do arquivo com os dados das contas,
com valores atualizados. Este arquivo deve ter o mesmo formato do
arquivo usado como entrada, para poder ser usado novamente.
Detalhes sobre o Desenvolvimento
- O programa deve ser desenvolvido com base nos conceitos de Tipos
Abstratos de Dados e Encapsulamento, contento as classes definidas neste link;
- Quando houver uma tentativa de saque em uma conta que não tem
saldo suficiente, a operação não deve ser realizada e a conta deve permanecer com o saldo que tinha originalmente;
- A função main deve apenas chamar funções de acesso aos dados, nunca acessá-los diretamente.
Entrega e Apresentação
O trabalho, que poderá
ser desenvolvido em duplas, deverá ser entregue no dia 20/04/2021, durante o horário da
aula.
Todos os trabalhos já devem ter sido enviados pelo Moodle antes do
horário da aula. A
entrega no Moodle deverá ser
feita através da submissão de um arquivo .zip (não RAR, nem 7z ou
qualquer outro formato), contendo o projeto completo do programa. O
programa deverá ser nomeado da seguinte forma: nome_sobrenome.cpp. No
caso de uma dupla, usar a forma: nome1sobrenome1_nome2sobrenome2.zip.
Durante a
apresentação, todos os alunos devem estar presentes e aptos a responder
quaisquer perguntas. Respostas insatisfatórias ou a ausência do aluno
acarretarão em anulação da nota final.
Trabalhos copiados resultarão em nota zero para todos os alunos
envolvidos.
FIM.