Operacoines basicas utilizando punteros

#include "conio.h"
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
 
int suma(int a,int b);
int resta(int a, int b);
int multi(int a, int b);
int calculo(int a, int b, int(*c)(int, int));
 
 
void main()
{
 int (*fun[3])(int, int)={suma,resta,multi};
 int opc,x,y;
 clrscr();
 do
 {
  printf("nOperacion -> ");
  scanf("%d %d %d",&x,&y,&opc);
  if((opc>=0) && (opc<=2))
   printf("R= %dnn",(*fun[opc])(x,y));
 
 }while((opc>=0) && (opc<=2));
 getch();
}
 
int suma(int a,int b)
{
 return(a+b);
}
int resta(int a, int b)
{
 return(a-b);
}
 
int multi(int a, int b)
{
 return(a*b);
}
 
int calculo(int a, int b, int(*c)(int, int))
{
 return((*c)(a,b));
}
 

¿Has encontrado algún error? ¿Tienes la solución? Dejame tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.

Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

  • Si es lenguaje C [c]Código en C[/c]
  • Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].

De esta manera el código coloreas el código.

Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:

Me reservo el derecho de alterar, publicar o no los comentarios as´ como cambiar mis condiciones en el momento que así lo requiera.

¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)