Track
/
C++
C++
/
Esercizi
/
Testamento
Testamento

Testamento

Esercizio di apprendimento

Introduzione

Namespace

Un metodo importante per organizzare il codice è l'uso dei namespace. Due funzioni potrebbero avere un conflitto di nomi: si può risolvere mettendole in namespace diversi. Gli namespace possono essere annidati, il che può aiutare a strutturare grandi basi di codice. L'accesso agli namespace avviene tramite l'operatore di risoluzione dello scope ::.

L'esempio qui sotto mostra l'uso di due diverse funzioni foo. Vengono usate insieme anteponendo i rispettivi namespace.

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()};

Istruzioni

Lavori per un prestigioso studio legale specializzato nella gestione di richieste testamentarie fuori dal comune.

In questo esercizio aprirai una misteriosa cassaforte. Sei l'esecutore testamentario e dovrai mettere insieme i codici segreti custoditi a lungo da tre famiglie per ottenere un numero di conto e il codice corrispondente.

Per impedire che una sola famiglia apra la cassaforte, questa può essere aperta solo combinando le loro conoscenze con un modificatore segreto che conosci dal testamento.

Hai tre compiti, tutti legati allo scopo di aiutare le famiglie ad aprire la cassaforte.

1. Prendi posto davanti alle famiglie e disponi i tuoi documenti

Definisci un namespace chiamato estate_executor. Il codice dei compiti successivi va definito nel corpo del namespace estate_executor.

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

2. Trova il numero di conto segreto

Questo è il tuo grande momento. Solo tu possiedi la chiave modificatrice segreta in grado di rivelare il numero di conto segreto.

Definisci la funzione assemble_account_number(int secret_modifier), che prende il modificatore segreto come argomento e restituisce il numero di conto assemblato come int.

Per ottenere il numero corretto, devi sommare la bank_number_part di ciascuna delle tre famiglie.

3. Ultimo passo: inserisci il codice segreto

Le istruzioni del testamento ti chiedono di sommare prima tutti i frammenti blu e poi tutti quelli rossi. Il codice risultante si ottiene moltiplicando entrambe le somme.

Definisci la funzione assemble_code(), che restituisce il codice risultante combinando i frammenti delle tre famiglie in un unico integer. La funzione non ha argomenti e si basa esclusivamente sulle informazioni contenute nei namespace pertinenti delle famiglie.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
C++ Exercism

Vuoi iniziare Testamento?

Iscriviti a Exercism per imparare e padroneggiare C++ con 19 concetti100 esercizi e il mentoring di persone reali, tutto gratis.