Debes cambiar la variable resultado a float y luego, cuando llamas printf, reemplaza "%d" por "%f".
Cuando cambiaste la variable a float, le seguías diciendo a printf que mostrase enteros, por eso daba 0.
Edito:
Lo hice así y me funciono, no se si hay otras maneras pero solo se me ocurrió esta :
Código C++:
Ver original#include <stdio.h>
#include <stdlib.h>
int main()
{
int opcion, a, b;
float resultado;
printf("Ingrese el primer numero entero: "); printf("Ingrese el segundo numero entero: "); printf("Elija una operacion: ");
switch(opcion)
{
case 1:
resultado=(float)a+b;
printf("%f + %f = %f\n",a
,b
,resultado
); break;
case 2:
resultado=(float)a-b;
printf("%d - %f = %f\n",a
,b
,resultado
); break;
case 3:
resultado=(float)a/b;
printf("%d / %d = %f\n",a
,b
,resultado
); break;
case 4:
resultado=(float)a*b;
printf("%d x %d = %f\n",a
,b
,resultado
); break;
default:
break;
}
}