Como executar

Como executar C++

Trilha de C++ →

C++ é compilado: o compilador transforma o .cpp num executável, e depois você roda o executável.

Testar sem instalar nada

No Compiler Explorer, escolha C++, cole o código e abra Add new... → Execution Only para ver a saída. Em Compiler options, use -std=c++20.

Instalar

Linux (Debian/Ubuntu)

sudo apt install build-essential
g++ --version

O build-essential instala o GCC (gcc para C e g++ para C++). A versão do apt pode não ser a mais recente; para uma mais nova, veja como compilar o GCC a partir do código-fonte.

Windows

Instale o MSYS2 e, no terminal MSYS2 UCRT64, rode:

pacman -S mingw-w64-ucrt-x86_64-gcc

O pacote traz o gcc e o g++. Compile e rode no mesmo terminal MSYS2 UCRT64 (ou adicione C:\msys64\ucrt64\bin ao PATH do Windows para usar no PowerShell). Se os acentos saírem trocados no terminal do Windows, o problema é a codificação do terminal, não o programa.

Executar um arquivo

Exemplo básico: Olá, mundo!

Salve este programa como main.cpp:

#include <iostream>

int main() {
    std::cout << "Olá, mundo! Olá, C++!\n";
    return 0;
}

Compile e execute com os comandos de Compilar com G++ no Linux, mais abaixo. A saída será:

Olá, mundo! Olá, C++!

Calcular o IMC e mostrar a faixa

Substitua o conteúdo de main.cpp pelo programa abaixo. Cada exemplo é um programa completo: compile um de cada vez.

O programa lê o peso em quilogramas e a altura em metros, calcula IMC = peso / (altura * altura) e mostra a faixa para adultos de 20 a 59 anos. Digite decimais com ponto, como 1.75, e pressione Enter após cada dado. As faixas seguem o Ministério da Saúde. O IMC é um indicador; este exemplo didático não faz um diagnóstico.

#include <cmath>
#include <iomanip>
#include <iostream>
#include <string_view>

int main() {
    double weight;
    double height;

    std::cout << "Peso em kg (ex.: 70.5):\n";
    if (!(std::cin >> weight) || !std::isfinite(weight) || weight <= 0) {
        std::cerr << "Peso inválido: digite um número positivo.\n";
        return 1;
    }

    std::cout << "Altura em metros (ex.: 1.75):\n";
    if (!(std::cin >> height) || !std::isfinite(height) || height <= 0) {
        std::cerr << "Altura inválida: digite um número positivo.\n";
        return 1;
    }

    const double bmi = weight / (height * height);
    if (!std::isfinite(bmi) || bmi <= 0) {
        std::cerr << "Não foi possível calcular: confira os valores informados.\n";
        return 1;
    }

    std::string_view category;
    if (bmi < 18.5) {
        category = "Baixo peso";
    } else if (bmi < 25) {
        category = "Peso adequado (eutrofia)";
    } else if (bmi < 30) {
        category = "Sobrepeso";
    } else if (bmi < 35) {
        category = "Obesidade grau I";
    } else if (bmi < 40) {
        category = "Obesidade grau II";
    } else {
        category = "Obesidade grau III";
    }

    std::cout << std::fixed << std::setprecision(2)
              << "IMC: " << bmi << " kg/m²\n"
              << "Faixa: " << category << '\n';
    return 0;
}

Compilar com G++ no Linux

Abra o terminal na pasta em que salvou main.cpp e compile:

g++ -std=c++23 -Wall -Wextra -Wpedantic main.cpp -o main

g++ compila C++ e inclui a biblioteca padrão na etapa de ligação. main.cpp é o arquivo de entrada e -o main define o nome do executável. Sem erros, a compilação normalmente termina sem imprimir nada. -std=c++23 seleciona C++23; use GCC 11 ou mais recente. Os exemplos também funcionam com -std=c++20, usado nas lições.

Execute o arquivo gerado:

./main

O ./ indica que o executável está na pasta atual. No segundo exemplo, a interação será:

Peso em kg (ex.: 70.5):
70
Altura em metros (ex.: 1.75):
1.75
IMC: 22.86 kg/m²
Faixa: Peso adequado (eutrofia)

70 e 1.75 são os dados que você digita; as outras linhas são a saída do programa. std::cin >> lê os números e std::cout mostra o resultado. double armazena valores decimais, std::isfinite rejeita valores não finitos, e std::setprecision(2) com std::fixed exibe duas casas decimais.

Os testes if e else if escolhem a faixa usando o IMC calculado, antes do arredondamento de exibição: abaixo de 18,5, baixo peso; de 18,5 até menos de 25, peso adequado; de 25 até menos de 30, sobrepeso; de 30 até menos de 35, obesidade grau I; de 35 até menos de 40, grau II; a partir de 40, grau III. A leitura detecta letras, números grandes demais, zero e valores negativos. Digite somente o número pedido: esse exemplo não valida toda a linha.

No Windows, o executável é main.exe. As opções -Wall -Wextra -Wpedantic ativam avisos: leia-os antes de executar.

Quando o exemplo é só um trecho

Coloque as linhas dentro de int main() { ... }, inclua os cabeçalhos que ele usar (<iostream>, <vector>, <string>...) e deixe classes e funções acima do main.

Erros comuns

  • 'cout' was not declared in this scope: faltou #include <iostream> ou o prefixo std::.
  • Usar gcc em vez de g++ para C++: a compilação falha na hora de juntar a biblioteca padrão.
  • Recurso novo que não compila: confira se o comando tem -std=c++20.