Questão de Programação — C++ (mais mais) — INSTITUTO AOCP 2021
Programação›C++ (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.
Avoid meuNome(string Nome,int Idade) {cout << "Meu nome é "<<Nome << ". Tenho " <<Idade << " anos.\n";}
BmeuNome(string nome,int idade) {cout << "Meu nome é "<<nome << ". Tenho " <<idade << " anos.\n";}
Cvoid meuNome(nome, idade) {cout << "Meu nome é "<<nome << ". Tenho " <<idade << " anos.\n";}
DmeuNome() {cout << "Meu nome é "<<nome << ". Tenho " <<idade << " anos.\n";}
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.