Neste trabalho você deverá criar uma sistam aque gerencie contas bancárias. Descrição Um banco trabalha com três tipos de contas: * conta corrente comum; * conta corrente com limite; * conta poupança.
Em todos os casos é necessário guardar o número da conta, o nomedo correntista e o saldo. Obs:
As contas são todas armazenadas em uma mesma estrutura, independente do
tipo da conta, o que irá requerer que você use herança e polimorfismo.
Para a conta poupança é necessário guardar o dia do aniversárioda conta (quando são creditados os juros).
Já para a conta com limite é necessário guardar o valor do limite.
As contas também armazenam uma lista de transações. Uma transaçãoé definida por uma data, valor da transação e descrição. Se ovalor for negativo, a transação é considerada um débito (créditocaso contrário).
As operações possíveis são:
depósito;
retirada;
impressão deextrato.
Essas operações devem ser definidas como métodos de uma classe base denominada Conta. A forma como cada uma delas será executada dependerá do tipo de conta.
A operação de depósito é igual nos três tipos de conta.
A retirada só é diferente na conta com limite, pois esta admiteque o saldo fique negativo até o limite estabelecido.
O extrato é diferente para as três:
na conta comum exibe o número da conta, nome do cliente, transações e o saldo;
conta limite imprime também o valor do limite;
na conta poupança imprime também o dia do aniversário.
OBS: Implemente a hierarquia de classes das contas explorandopolimorfismo.
O programa deve possuir um menu que permirta ao usuário fazer:
Listagem de todas contas;
Impressão do saldo do banco;
Seleção de uma conta, pelo seu número, para a realização de operações de:
Depósito;
Retirada;
Impressão de extrato contendo dados genéricos e dados específicos de cada tipo de conta.
Entrega e Apresentação
O trabalho, que poderá
ser desenvolvido em duplas, deverá ser entregue no dia 02/05/2018, durante o horário da
aula.
O trabalho será apresentado NA SALA DE 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.
O programa deverá ser executado no sistema operacional Linux. Não serão
aceitos trabalhos que não compilem corretamente no g++, sob hipótese
nenhuma.
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.
Todos os trabalhos deverão ser
entregues até o dia da apresentação, e apresentados na data marcada -
não serão aceitos trabalhos fora do prazo.
Trabalhos copiados resultarão em nota zero para todos os alunos
envolvidos.