Progra de funciones
#include
#include
#include
#include
#include
//using namespace std;
/* NOTA: en esta libreria incluye las siguientes funciones
int AnalisaSintaxis(char *) -----> Analizala sintaxis de la ecuacion y devuelve el valor del
error y devuelve cero si no hay error
void ErrorEcuacion(int) -----> Este se usa junto conAnalizaSintaxis te da el error de la ecuacion
EvaluarFuncion(char *, double) ----> Evalua una solo incognita en este caso 'x'
EvaluarFuncion(char *, double,double) ----> Evalua 2 incognitas en estecaso 'x' e 'y'
y las funciones de derivada...(no pongo explicacion por q no se q onda)
*/
//-------------------------------------------------------------------------------------------//---------- EVALUACION ECUACION --------------
int AnalizaSintaxis(char *pchrptrEcuacion)
{ /*lintI sirve como iterador para avanzar por la cadena*/
/*lintParent sirve para contar losparentesis*/
/*lintPunto sirve para contar los puntos decimales de un numero*/
int lintI=0,lintParent=0;
int lintPunto=0;
/*lchrArrEcu sirve para almacenar nombres de funciones ycompararlos*/
char lchrArrEcu[10];
if ((pchrptrEcuacion[0]=='^')||(pchrptrEcuacion[0]=='/')
||(pchrptrEcuacion[0]=='*')||(pchrptrEcuacion[0]=='+'))
{
printf("%c ",pchrptrEcuacion[lintI]);return 2;
}
while(pchrptrEcuacion[lintI])
{
if(pchrptrEcuacion[lintI]==' ')
return 8;
if(pchrptrEcuacion[lintI]==')')
if((pchrptrEcuacion[lintI+1]!='+')&&(pchrptrEcuacion[lintI+1]!='-')&&(pchrptrEcuacion[lintI+1]!='*')
&&(pchrptrEcuacion[lintI+1]!='/')&&(pchrptrEcuacion[lintI+1]!=0)
&&(pchrptrEcuacion[lintI+1]!=')')&&(pchrptrEcuacion[lintI+1]!='^')){
printf("\nEl parentesis %c no tiene operador contiguo",pchrptrEcuacion[lintI]);
return 9;
}
if(isdigit(pchrptrEcuacion[lintI]))
if((pchrptrEcuacion[lintI+1]!='+')...
Regístrate para leer el documento completo.