Expresion 1.0
Clase que permite evaluar expresiones matematicas
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Expresion Class Reference

Clase para evaluar expresiones matemáticas. Permite evaluar expresiones matemáticas b&aacutesicas en forma infija y posfija.
Soporta operaciones como suma, resta, multiplicación, división y potenciación. More...

#include <Expresion.hpp>

Public Member Functions

 Expresion ()
 Constructor.
 
 Expresion (std::string expInfija)
 Constructor.
 
void Capturar ()
 Captura una expresión infija desde la entrada estándar.
 
void ImprimirInfija ()
 Imprime la expresión infija en la salida estándar.
 
void ImprimirPosfija ()
 Imprime la expresión posfija en la salida estándar.
 
double EvaluarExpPosfija ()
 Calcula el resultado de la expresión posfija.
 
bool EsCadenaValida ()
 Verifica si la expresión infija es una cadena válida.
 

Detailed Description

Clase para evaluar expresiones matemáticas. Permite evaluar expresiones matemáticas b&aacutesicas en forma infija y posfija.
Soporta operaciones como suma, resta, multiplicación, división y potenciación.

Ejemplo.cpp
#include <iostream>
#include "Expresion.hpp"
using namespace std;
int main()
{
try{
cout << "Clase Expresi\242n..." << endl;
Expresion exp("{[(5+7)*6+4]/[(2-3)/4]}^2");
double num = exp.EvaluarExpPosfija();
cout << "\nResultado de la expresi\242n: " << num << endl;
cout << "Expresion infija: ";
exp.ImprimirInfija();
cout << endl << "Expresion posfija: ";
exp.ImprimirPosfija();
cout << endl << endl << "Tambi\202n puedes ingresar una expresi\242n: ";
Expresion exp2;
exp2.Capturar();
double num2 = exp2.EvaluarExpPosfija();
cout << "\nResultado de la expresi\242n: " << num2 << endl;
cout << "Expresion infija: ";
cout << endl << "Expresion posfija: ";
cout << endl;
}catch (const char* error) {
cerr << "\nError: " << error << endl;
} catch (...) {
cerr << "\nError desconocido" << endl;
}
return 0;
}
Clase para evaluar expresiones matemáticas. Permite evaluar expresiones matemáticas b&aacutesicas en ...
Definition Expresion.hpp:96
void ImprimirPosfija()
Imprime la expresión posfija en la salida estándar.
Definition Expresion.cpp:31
void ImprimirInfija()
Imprime la expresión infija en la salida estándar.
Definition Expresion.cpp:26
double EvaluarExpPosfija()
Calcula el resultado de la expresión posfija.
Definition Expresion.cpp:36
void Capturar()
Captura una expresión infija desde la entrada estándar.
Definition Expresion.cpp:19
Salida:
   Clase Expresi&oacute;n...
   Resultado de la expresi&oacute;n: 92416
   Expresion infija: {[(5+7)*6+4]/[(2-3)/4]}^2
   Expresion posfija: 5;7+6*4+2;3-4//2^

   Tambi&eacute;n puedes ingresar una expresi&oacute;n: (2+3)^2

   Resultado de la expresi&oacute;n: 25
   Expresion infija: (2+3)^2
   Expresion posfija: 2;3+2^

Constructor & Destructor Documentation

◆ Expresion() [1/2]

Expresion::Expresion ( )

Constructor.

Crea un objeto de Expresion.

◆ Expresion() [2/2]

Expresion::Expresion ( std::string expInfija)

Constructor.

Crea un objeto de Expresion con la expresión infija especificada.

Parameters
expInfijaLa expresión infija a evaluar.
Precondition
La expresión infija ingresada debe ser válida.
Exceptions
constchar * La expresión no puede ser creado si la expresión no es válida.

Member Function Documentation

◆ EsCadenaValida()

bool Expresion::EsCadenaValida ( )

Verifica si la expresión infija es una cadena válida.

Comprueba si la expresión infija contiene únicamente caracteres válidos, incluyendo operadores binarios, números, puntos decimales y notación científica. Además, verifica el balance de paréntesis, corchetes y llaves en la expresión.

Returns
true si la cadena es válida, false en caso contrario.
Exceptions
constchar * Si la expresión infija contiene caracteres no válidos.

◆ EvaluarExpPosfija()

double Expresion::EvaluarExpPosfija ( )

Calcula el resultado de la expresión posfija.

Returns
El resultado de la expresión posfija.
Exceptions
constchar * Si la expresión posfija es inválida.
constchar * Si no se ha capturo correctamente la expresion.
constchar * No hay suficientes operandos para la operacion.
constchar * No es posible dividir entre 0
constchar * No es posible realizar raíces pares de números negativos

The documentation for this class was generated from the following files: