Call up a specific function according to your choice in the menu

1

I need to make a program that simulates an ATM from a bank in C ++, presenting a menu that has Deposit, Withdrawal and Payment of Tickets. How will I do that? I've already done the following:

#include <iostream>
using namespace std;

bool ValidaNumeroAgencia (int agencia)
{
    if (agencia >= 100 && agencia <= 999)
        return true;
    else
        return false;
}
bool ValidaNumeroConta_Corrente (int conta)
{
    if (conta >= 10000 && conta <= 99999)
        return true;
    else
        return false;
}
float Deposito (float credito)
{
    float novo_valor;
    novo_valor = 500 + credito;
    return novo_valor;
}
int Saque (int debito, int saldo)
{
    if (debito <= saldo)
    {
        if (debito % 10)
            return debito;
    }
}
bool ValidaClienteEspecial (int saldo, int limite)
{
    int n_limite;
    if (saldo >= 10000 && ValidaClienteEspecial == false)
    {
        n_limite = limite + 5000;
        return true;
        cout << "Seu novo limite e de: " << n_limite << endl;
    }
}
float Codigo_barras(int codigo, float valor, int saldo)
{
    float n_saldo;
    if (codigo >= 100000000000 && codigo <= 999999999999)
    {
        if (valor <= saldo)
        {
            n_saldo = saldo - valor;
            return n_saldo;
        }
    }
}
float Saldo (float saldo)
    {
        cout << "Seu saldo e de:\n" "R$ " << saldo << endl;
    }

int main ()
{
    int n_agencia, n_conta_corrente, n, a;

    ValidaNumeroAgencia(n_agencia);
    ValidaNumeroConta_Corrente(n_conta_corrente);

    do
    {
        cout << "Digite o Numero da sua Conta Corrente: ";
        cin >> n_conta_corrente;
    }
    while (ValidaNumeroConta_Corrente(n_conta_corrente) == false);

    do
    {
        cout << "Digite o Numero da sua Agencia: ";
        cin >> n_agencia;
    }
    while (ValidaNumeroAgencia(n_agencia) == false);

    cout << "\n\nSelecione qual opcao deseja realizar: ";
    cout << "\n1 - Deposito";
    cout << "\n2 - Saque";
    cout << "\n3 - Pagamento de Boletos";
    cout << "\n4 - Extrato";
    cout << "\n0 - Sair\n";
 return 0;
}

My question is, what will I do to have the program call the functions according to the user choosing from the menu? How can I continue the above code?

    
asked by anonymous 04.04.2014 / 01:21

1 answer

2

You can basically solve this with a switch :

cout << "\n\nSelecione qual opcao deseja realizar: ";
cout << "\n1 - Deposito";
cout << "\n2 - Saque";
cout << "\n3 - Pagamento de Boletos";
cout << "\n4 - Extrato";
cout << "\n0 - Sair\n";

int opcao;

// Repete até que o usuário peça para sair.
while (opcao != 5)
{
    std::cin >> opcao;

    switch (opcao)
    {
        case 1:
            // Pedo ao usuário a quantidade que será depositada.
            // E depois chama a função de deposito:
            // Exemplo:
            // Deposito(1000);
            break;
        case 2:
            // Pedo ao usuário a quantidade que será sacada.
            // E chama a função:
            // Saque(1000);
            break;
        case 3:
            // Pede os valores do boleto e chama a função Codigo_barras.
            break;
        case 4:
            // Chama a função para mostrar o extrato.
            break;
        case 5:
            // Usuário quer sair.
            break;
        default:
            // Se o usuário informar um valor inválido.
            std::cout << "Opcao invalida! Informe outro valor." << std::endl;
            break;
    }

Just a note: There are some functions that do not always return a value. For example:

int Saque (int debito, int saldo)
{
    if (debito <= saldo)
    {
        if (debito % 10)
            return debito;
    }
}

If debito <= saldo is false what will Saque return? It gives a corrected in this, so that the functions always return expected values.

    
04.04.2014 / 02:35