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 operandAprimorando 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" | ./calcVerificaçã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
- Construir uma calculadora CLI simples
- Ler e escrever ficheiros CSV
- Um jogo de adivinhação de números
- Um contador de frequência de palavras