Construcción de una calculadora CLI sencilla
Construya una calculadora de línea de comandos que analice operadores y evalúe expresiones.
Construcción de una calculadora CLI sencilla es una lección gratuita de C++ Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C++ Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C++ Academy incluye 4 lecciones en total.
Objetivo del proyecto
Construya una calculadora de línea de comandos que lea una expresión como 3 + 4 e imprima el resultado. La mantendremos sencilla, pero bien estructurada.
Cabeceras necesarias
Necesitamos iostream para la E/S y string para la entrada.
#include <iostream>
#include <string>
#include <sstream>Esqueleto del bucle principal
Lea una línea, analícela, calcule el resultado e imprímalo. Salga al llegar a 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álisis con stringstream
Para dos operandos y un operador, la tokenización con stringstream es sencilla y 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 el operador
Use un switch sobre el carácter del 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;
}
}Gestión de errores
¿Qué ocurre si el usuario escribe algo no válido? Compruebe el estado del stream e informe del problema con un mensaje claro.
if (!(ss >> a >> op >> b)) {
std::cout << "Invalid input\n";
return 0;
}División entre cero
Gestione explícitamente la división entre cero. Imprima un error o lance una excepción, según lo que se ajuste mejor a su diseño.
if (op == '/' && b == 0) {
throw std::runtime_error("division by zero");
}Añadir más operadores
Amplíe el switch para admitir más operaciones: %, ^ para potencias o funciones con nombre como sqrt.
Mantener el estado
¿Quiere mantener un total acumulado? Guarde el último resultado y permita que el usuario comience una expresión con +.
double last = 0;
// if first token is an operator, use `last` as the first operandPerfeccionar la experiencia de usuario
Imprima un indicador antes de cada entrada, acepte quit o EOF para salir e ignore las líneas vacías.
Más allá de dos operandos
Para expresiones con varios operandos, como 3 + 4 * 2, necesita un analizador de expresiones. El algoritmo de shunting-yard es el enfoque estándar.
Probar la calculadora
Redirija la entrada desde un archivo para realizar pruebas rápidamente.
echo "3 + 4\n10 / 2" | ./calcComprobación rápida
¿Qué recurso de la biblioteca estándar resulta práctico para analizar tokens separados por espacios, como 3 + 4?
Resumen
Una calculadora de línea de comandos pequeña demuestra la E/S, el análisis con stringstream y el despacho mediante switch. Amplíela con gestión de errores, más operadores, estado y, finalmente, un analizador de expresiones.
Preguntas frecuentes
¿La lección «Construcción de una calculadora CLI sencilla» es gratis?
Sí — el texto completo de «Construcción de una calculadora CLI sencilla» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C++ Academy, actualiza a CoddyKit PRO. El curso de C++ Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Construcción de una calculadora CLI sencilla»?
Construya una calculadora de línea de comandos que analice operadores y evalúe expresiones. Practicas C++ Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C++ Academy?
No se requiere experiencia previa. C++ Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Construcción de una calculadora CLI sencilla»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C++ Academy?
Sí. Cada lección de C++ Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Construcción de una calculadora CLI sencilla
- Lectura y escritura de archivos CSV
- Un juego de adivinar números
- Un contador de frecuencia de palabras