Red de conocimiento informático - Descarga de software - Programación de calculadora de cuatro operaciones aritméticas mixtas en lenguaje c

Programación de calculadora de cuatro operaciones aritméticas mixtas en lenguaje c

#include

#include

#include

char token[61] /*Matriz para almacenar la cadena de expresión*/

int n=0

void error(void) /*Función de informe de error*/

{

printf("¡ERROR!\n");

salir(1);

}

coincidencia nula( char esperado) /*Función para comprobar la coincidencia de caracteres*/

{

if(token[n]==esperado)

token[++ n] =getchar();

else error();

}

double term(void); p>

double factor(void); /*Función que maneja paréntesis y números*/

double exp(void) /*Función que calcula sumas y restas*/

{

doble temp=term();

mientras((token[n]=='+')||(token[n]=='-')) < / p>

switch(token[n])

{

case'+':match('+'); ( );

romper;

caso'-':match('-'); p >romper;

}

temperatura de retorno;

}

término doble (nulo)

{

doble div;

doble temp=factor();

mientras((token[n]=='*')||(token[n] ] =='/'))

switch(token[n])

{

case'*':match('*'); /p>

{

case'*':match('*');

p>

temp*=factor(); p>romper;

caso'/':match('/');

div=factor ();

if(div==0) /*Maneja el caso donde el divisor es cero*/

{

printf("¡El divisor es cero! \n");

}

temp/=div

romper

}

retorno temporal; /p>

}

factor doble (vacío)

{

temperatura doble

número de carácter[61];

int i=0;

if(token[n]=='(')

{

match('( ');

temp=exp();

coincidencia(')';

}

else if(isdigit( token[n])||token[n]=='.')

{

while(isdigit(token[n])||token[n]=='.') /*Convertir cadena a número de coma flotante*/

{

número[i++]=token[n++];

token[n]=getchar()

}

número[i]='\0';

temp=atof(número);

}

else error();

temperatura de retorno;

}

main()

{

doble resultado; *data=fopen("61590_4.dat","at");

if(data==NULL)

data=fopen("61590_4.dat","wt "

if(data==NULL)

devuelve 0

token[n]=getchar(); =exp();

if(token[n]=='\n')

{

token[n]='\0' ;

printf("%s=%g\n",token,resultado);

fprintf(datos,"%s=%g\n",token,resultado);

}

else error();

fclose(datos);

devuelve 0

getch; ();

}

¡Creo que esto es suficiente!