0Pricing
C++ Academy · Aula

Construir uma calculadora CLI simples

Construa uma calculadora de linha de comandos que analise operadores e avalie expressões

Construir uma calculadora CLI simples é uma aula grátis de C++ Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C++ Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C++ Academy inclui 4 aulas no total.

Objetivo do projeto

Crie uma calculadora de linha de comando que leia uma expressão como 3 + 4 e imprima o resultado. Vamos mantê-la simples, mas bem estruturada.

Cabeçalhos necessários

Precisamos de iostream para E/S e de string para a entrada.

#include <iostream>
#include <string>
#include <sstream>

Esqueleto do laço principal

Leia uma linha, faça a análise sintática, calcule e imprima. Saia ao encontrar EOF.

int main() {
    std::string line;
    while (std::getline(std::cin, line)) {
        if (line == "quit") break;
        double result = evaluate(line);
        std::cout << "= " << result << "\n";
    }
}

Análise sintática com stringstream

Para dois operandos e um operador, a tokenização com stringstream é simples e robusta.

double evaluate(const std::string& line) {
    std::stringstream ss(line);
    double a, b;
    char op;
    ss >> a >> op >> b;
    return apply(op, a, b);
}

Aplicar o operador

Uma seleção baseada no caractere do operador.

double apply(char op, double a, double b) {
    switch (op) {
        case '+': return a + b;
        case '-': return a - b;
        case '*': return a * b;
        case '/': return b != 0 ? a / b : 0;
        default:  return 0;
    }
}

Tratamento de erros

E se o usuário digitar algo inválido? Verifique o estado do fluxo e mostre uma mensagem amigável.

if (!(ss >> a >> op >> b)) {
    std::cout << "Invalid input\n";
    return 0;
}

Divisão por zero

Trate explicitamente a divisão por zero. Imprima um erro ou lance uma exceção — o que for adequado ao seu projeto.

if (op == '/' && b == 0) {
    throw std::runtime_error("division by zero");
}

Adicionando mais operadores

Amplie a seleção para oferecer suporte a mais operações: %, ^ para potência ou funções nomeadas, como sqrt.

Mantendo o estado

Quer um total acumulado? Armazene o último resultado e permita que o usuário inicie uma expressão com +.

double last = 0;
// if first token is an operator, use `last` as the first operand

Aprimorando a experiência do usuário

Mostre uma solicitação antes de cada entrada, aceite quit ou EOF para sair e ignore linhas em branco.

Além de dois operandos

Para expressões com vários operandos, como 3 + 4 * 2, você precisa de um analisador de expressões. O algoritmo shunting-yard é a abordagem padrão.

Testando a calculadora

Redirecione a entrada de um arquivo para testar rapidamente.

echo "3 + 4\n10 / 2" | ./calc

Verificação rápida

Qual recurso da biblioteca padrão é conveniente para analisar tokens separados por espaços, como 3 + 4?

Recapitulação

Uma pequena calculadora de CLI demonstra E/S, análise sintática com stringstream e despacho orientado por seleção. Amplie-a com tratamento de erros, mais operadores, estado e, por fim, um analisador de expressões.

Perguntas Frequentes

A aula “Construir uma calculadora CLI simples” é grátis?

Sim — o texto completo de “Construir uma calculadora CLI simples” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C++ Academy, atualize para CoddyKit PRO. O curso de C++ Academy inclui 4 aulas no total.

O que vou aprender em “Construir uma calculadora CLI simples”?

Construa uma calculadora de linha de comandos que analise operadores e avalie expressões Você pratica C++ Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C++ Academy?

Nenhuma experiência prévia é necessária. C++ Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Construir uma calculadora CLI simples”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C++ Academy?

Sim. Cada aula de C++ Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Construir uma calculadora CLI simples
  2. Ler e escrever ficheiros CSV
  3. Um jogo de adivinhação de números
  4. Um contador de frequência de palavras
← Voltar para C++ Academy