Fácil C++

Leitura e escrita simples

Enunciado

Escreva um programa que leia o nome de uma pessoa (apenas uma palavra) e sua idade, e então imprima uma mensagem no formato: Nome: [nome], Idade: [idade] anos.

Requisitos

  • Use std::cin para ler o nome e a idade.
  • Use std::cout para imprimir a mensagem exata.
  • A mensagem deve conter o nome e a idade separados por vírgula e espaço.

Código inicial

#include <iostream>
#include <string>

int main() {
    // Seu código aqui
    return 0;
}

Saída esperada

Nome: Maria, Idade: 30 anos
Ver dica

Lembre-se de incluir <string> para usar std::string e use std::cin >> nome >> idade; para ler os dois valores.

Mostrar solução
#include <iostream>
#include <string>

int main() {
    std::string nome;
    int idade;
    std::cin >> nome >> idade; // lê nome e idade separados por espaço
    std::cout << "Nome: " << nome << ", Idade: " << idade << " anos" << std::endl;
    return 0;
}

Passo a passo

  1. Incluímos <iostream> para cin/cout e <string> para std::string.
  2. Declaramos nome como std::string e idade como int.
  3. std::cin >> nome >> idade; lê primeiro uma palavra (até espaço) para nome e depois um inteiro para idade.
  4. std::cout imprime a mensagem concatenando strings e a variável idade.
  5. std::endl insere uma nova linha e descarrega o buffer.

Por que funciona

O operador >> extrai dados formatados do fluxo, pulando espaços em branco iniciais. Como o nome não contém espaços, a leitura direta funciona. A saída com << insere os dados no fluxo de saída na ordem especificada.

Erros comuns

  • Esquecer de incluir <string>: o compilador pode não reconhecer std::string.
  • Usar std::getline para ler o nome e depois >> para idade: o getline consumiria a linha inteira, e a idade ficaria sem valor. Para este exercício, >> é mais simples.
  • Não verificar se a entrada foi bem-sucedida: se o usuário digitar algo inválido, o programa pode se comportar de forma inesperada.

Outra forma de resolver

Usar std::format (C++20) para montar a string:

std::cout << std::format("Nome: {}, Idade: {} anos\n", nome, idade);

É preferível quando se deseja formatação mais complexa ou segurança de tipos.

Saída esperada

Nome: Maria, Idade: 30 anos