#include <string.h>
#include <stdio.h>

float sum(float a, float b)
{
return a+b;
}

float sub(float a, float b)
{
return a-b;
}

float mul(float a,float b)
{
return a*b;
}

float div(float a, float b)
{
return a/b;
}

int main(void)
{

float (*p)(float,float);
float op1,op2,resultado;
FILE *fp;
char nomearquivo[60];
char str1[4],str2[10],str3[10];

printf("qual o nome do arquivo de entrada?\n");
scanf("%s",nomearquivo);

if( (fp=fopen(nomearquivo,"r")) == NULL){
	printf("Erro na abertura do arquivo.\n");
	return; //sai do programa
}

while(!feof(fp)){
	fscanf(fp,"%s %s %s",str1,str2,str3);

	op1=atoi(str2);
	op2=atoi(str3);

	if(!strcmp(str1,"sum")){
		p=sum;
	}

	if(!strcmp(str1,"sub")){
		p=sub;
	}

	if(!strcmp(str1,"mul")){
		p=mul;
	}

	if(!strcmp(str1,"div")){
		p=div;
	}

	resultado=(*p)(op1,op2);
	printf("%f\n",resultado);

}

fclose(fp);
}
