Gostaria de uma ajuda para incluir um "enum" nessa calculadora, e se esta certo o uso dos ponteiros nela. Segue a baixo o codigo:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
int soma (int a, int b){
return (a+b);
}
int subtrair(int a, int b){
return (a-b);
}
int multiplicar(int a, int b){
return (a*b);
}
int dividir(int a, int b){
return (a/b);
}
int callfunc(int a, int b, int(*operacao)(int, int)){
int ret;
ret = operacao(a,b);
return (ret);
}
int main(void){
int operacao,n1,n2,retmain=0;
printf("Digite os valores: \n");
printf("Valor 1: ");
scanf("%d", &n1);
printf("Valor 2: ");
scanf("%d", &n2);
system("clear");
printf("Escolha operacao operacao \n");
printf("1- Soma\n2- Subtraccão\n3- Multiplicacao\n4- Divisao\n");
printf("Digite a sua escolha: ");
scanf("%d", &operacao);
switch(operacao){
case 1:
retmain = callfunc(n1,n2,soma);
break;
case 2:
retmain = callfunc(n1,n2,subtrair);
break;
case 3:
retmain = callfunc(n1,n2,multiplicar);
break;
case 4:
retmain = callfunc(n1,n2,dividir);
break;
}
printf("O resultado deu: %d\n", retmain);
return (0);
}