-
Notifications
You must be signed in to change notification settings - Fork 0
/
menu.h
81 lines (67 loc) · 2.44 KB
/
menu.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#ifndef MENU_H
#define MENU_H
#include <iostream>
#include "banco.h"
#include "contacorrente.h"
#include "contapoupanca.h"
enum MenuPrincipal {
CriarConta = 1,
SelecionarConta,
RemoverConta,
RelatorioGeral,
Finalizar
};
enum MenuConta {
Depositar = 1,
Sacar,
Transferir,
RelatorioIndividual,
Retornar
};
/*
Crie uma classe Menu que instancie um banco e ofereça o seguinte menu
para o usuário:
- Criar conta: o usuário informa se é conta poupança ou corrente e os dados da
conta. O objeto correspondente é criado e inserido no banco através do método
inserir. Exibir uma mensagem de sucesso.
- Selecionar conta: o usuário informa o número da conta. Se a conta existir,
mostra o menu abaixo. Caso contrário, mostra mensagem de conta inexistente.
- Remover conta: o usuário informa o número da conta. Se a conta existe, então
ela é excluída e uma mensagem de sucesso é informada. Caso contrário, uma
mensagem de conta inexistente é informada.
- Gerar relatório: mostra os dados de todas as contas cadastradas no banco.
- Finalizar: termina a aplicação.
Se o usuário escolher “Selecionar Conta”, o seguinte menu deve aparecer:
- Depositar: recebe um valor e deposita na conta.
- Sacar: recebe um valor e tenta sacar da conta.
- Transferir: recebe um valor e o número de outra conta. Caso a conta exista,
transfere o valor de uma conta para a outra. Caso contrário, informar mensagem
de conta inexistente.
- Gerar relatório: mostra os dados da conta selecionada. Utilize o método
mostraDados criado anteriormente.
- Retornar ao menu anterior: exibe o menu anterior (opções 1 a 5).
*/
class Menu {
public:
Menu();
//"Telas" do menu principal
void menuPrincipal(bool exibirOpcoes = true);
void menuPrincipal_criarConta();
void menuPrincipal_selecionarConta();
void menuPrincipal_removerConta();
void menuPrincipal_relatorioGeral();
void menuPrincipal_finalizar();
//"Telas" do menu da conta selecionada
void menuConta(ContaBancaria* conta, bool exibirOpcoes = true);
void menuConta_depositar(ContaBancaria* conta);
void menuConta_sacar(ContaBancaria* conta);
void menuConta_transferir(ContaBancaria* conta);
void menuConta_relatorioIndividual(ContaBancaria* conta);
void menuConta_retornar();
// Remove a entrada inválida do fluxo se necessário e retorna se foi limpa
// ou não
bool limparEntrada();
protected:
Banco pacbank;
};
#endif