Progra de funciones

Solo disponible en BuenasTareas
  • Páginas : 3 (721 palabras )
  • Descarga(s) : 4
  • Publicado : 1 de junio de 2010
Leer documento completo
Vista previa del texto
#include
#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]!='+')...
tracking img