Pular para o conteúdo principal

Questão de Programação — C++ (mais mais) — INSTITUTO AOCP 2021

ProgramaçãoC++ (mais mais)
Código
qq660953
Banca
INSTITUTO AOCP
Órgão
ITEP-RN
Ano
2021
Nível
Superior
Cargo
ITEP - RN - Perito Criminal - Computação
Analise o código C++ a seguir:#include "iostream" using namespace std; int main() { string nome; int idade; cout << "Digite seu nome: "; cin >> nome; cout << "Digite sua idade: "; cin >> idade; meuNome(nome, idade); return 0; } Para que a chamada da função meuNome, ocorra livre de erros, assinale a alternativa correta em relação à escrita dessa função.
  1. Avoid meuNome(string Nome,int Idade) {cout << "Meu nome é "<<Nome << ". Tenho " <<Idade << " anos.\n";}
  2. BmeuNome(string nome,int idade) {cout << "Meu nome é "<<nome << ". Tenho " <<idade << " anos.\n";}
  3. Cvoid meuNome(nome, idade) {cout << "Meu nome é "<<nome << ". Tenho " <<idade << " anos.\n";}
  4. DmeuNome() {cout << "Meu nome é "<<nome << ". Tenho " <<idade << " anos.\n";}
  5. Evoid meuNome(nome, idade) {cout << "Meu nome é %s.",nome;cout << "Tenho %d anos.",idade;}
Revelar gabarito e comentário

GabaritoA — void meuNome(string Nome, int Idade) { cout << "Meu nome é "<< Nome << ". Tenho " << Idade << " anos.\n"; }

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Função em C++: definição correta

Gabarito: Letra A. A função meuNome é chamada com dois argumentos: uma string (nome) e um int (idade). A definição correta deve ter o tipo de retorno (void, já que não retorna valor), os parâmetros com tipos correspondentes (string e int) e a implementação usando cout. A alternativa A atende todos esses requisitos.

A banca testa o conhecimento sobre a sintaxe obrigatória de declaração de funções em C++: tipo de retorno, parâmetros tipados e uso correto de cout. O código original não possui protótipo, mas a definição deve estar presente em algum lugar (antes ou depois, desde que o compilador a veja antes da chamada). Nesta questão, o foco é a definição em si.

Alternativa A — ✅ Correta ⟵ GABARITO

void meuNome(string Nome, int Idade) {
    cout << "Meu nome é " << Nome << ". Tenho " << Idade << " anos.\n";
}

Possui tipo de retorno void, parâmetros tipados (string e int) e usa corretamente cout para saída. Compatível com a chamada.

Alternativa B — ❌ Incorreta

meuNome(string nome, int idade) { ... }

Falta o tipo de retorno. Em C++, funções devem ter tipo de retorno explícito (diferente de C, que permite omitir resultando em int). Isso gera erro de compilação.

Alternativa C — ❌ Incorreta

void meuNome(nome, idade) { ... }

Os parâmetros não possuem tipo. Em C++, cada parâmetro deve ter um tipo declarado. Essa sintaxe é inválida.

Alternativa D — ❌ Incorreta

meuNome() { ... }

A função não aceita parâmetros, mas a chamada fornece dois argumentos. Haveria erro de compilação por número incompatível de argumentos.

Alternativa E — ❌ Incorreta

void meuNome(nome, idade) {
    cout << "Meu nome é %s.", nome;
    cout << "Tenho %d anos.", idade;
}

Mistura sintaxe de C (printf) com cout de forma incorreta. Além disso, os parâmetros não são tipados. Totalmente inadequada.

PEGA ESSA DICA!

Em C++, sempre declare o tipo de retorno (use void se não houver retorno) e especifique o tipo de cada parâmetro. Essa é uma diferença importante em relação à linguagem C.

Gabarito: Letra A.

Link permanente: /questoes/qq660953