Trilhas
/
C++
C++
/
Exercícios
/
Testamento
Testamento

Testamento

Exercício de aprendizagem

Introdução

Namespaces

Um método importante para organizar o código é o uso de namespaces. Duas funções podem ter uma colisão de nomes, o que pode ser resolvido colocando-as em namespaces diferentes. Os namespaces podem ser aninhados, o que pode ajudar a estruturar bases de código grandes. O acesso aos namespaces é feito pelo operador de resolução de escopo ::.

O exemplo abaixo mostra o uso de duas funções foo diferentes. Elas são usadas juntas ao prefixar seus respectivos namespaces.

namespace my_ns {
    int foo() {
        return 44;
    }
    namespace my_inner_ns {
        int baz() {
            return 90;
        }
    }
}
namespace my_other_ns {
    int foo() {
        return -2;
    }
}

int myresult{my_ns::foo() + my_other_ns::foo() * my_ns::my_inner_ns::baz()};

Instruções

Você trabalha em um escritório de advocacia de prestígio, especializado em lidar com pedidos de testamento singulares.

Neste exercício, você vai abrir um cofre misterioso. Você é o executor do espólio e vai montar os códigos secretos guardados há muito tempo por três famílias para obter um número de conta e o código correspondente.

Para impedir que qualquer família abra o cofre sozinha, ele só pode ser aberto combinando o conhecimento delas com um modificador secreto que você conhece do testamento.

Você tem três tarefas, todas relacionadas a ajudar as famílias a abrir o cofre.

1. Sente-se diante das famílias e organize seus papéis

Defina um namespace chamado estate_executor. O código das próximas tarefas deve ser definido no corpo do namespace estate_executor.

namespace some_name {
    // The space between the curly brackets
    // is called body of the  namespace.
}

2. Descubra o número secreto da conta

Este é o seu grande momento. Só você tem a chave modificadora secreta para revelar o número secreto da conta.

Defina a função assemble_account_number(int secret_modifier), que recebe o modificador secreto como argumento e retorna o número de conta montado como um int.

Para obter o número correto, você precisa somar o bank_number_part de cada uma das três famílias.

3. Último passo: digite o código secreto

As instruções no testamento pedem que você some todos os fragmentos azuis e depois todos os vermelhos. O código resultante é obtido multiplicando as duas somas.

Defina a função assemble_code(), que retorna o código resultante combinando os fragmentos das três famílias em um único integer. A função não tem nenhum argumento e depende apenas das informações nos namespaces relevantes das famílias.

Editar via GitHub O link abre em uma nova janela ou aba
C++ Exercism

Tudo pronto para começar Testamento?

Crie sua conta no Exercism para aprender e dominar C++ com 19 conceitos100 exercícios e mentoria humana de verdade, tudo de graça.