Estimados,

Tengo este ejercicio que no puedo resolver. Supuestamente el programa tiene que tomar 2 numeros y 1 caracter. Si ese caracter es * - / + debe hacer la operacion que corresponde. Funciona entre tyodo bien, pero cuando hago las cuentas de * + / me duplica el resultado (ej: si el resultado es 4 me pone 44). Desde ya muchisimas gracias a quien pueda ayudarme por que me rompo la cabeza copn esto jejeje.
NOTA: en el ejercicio estaba especificado que no se podia usar switch, solo if-else.

MUCHAS GRACIAS!!

#include <stdio.h>
#include <conio.h>
#include <math.h>

void main()
{
int a,b,r;
char c;

printf("Ingrese los numeros a,b: \n");
fflush(stdin);
scanf("%d%d",&a,&b); //nuneros a y b ingresados

printf("Ingrese el caracter: \n");
fflush(stdin);
scanf("%c",&c); //caracter ingresado
if(c=='*' || c=='+' || c=='-' || c=='/') {
if(c=='*') {
r=a*b;
printf("%d",r);
} else
if(c=='+') {
r=a+b;
printf("%d",r);
} else
if(c=='/') {
r=a/b;
printf("%d",r);

} else
r=a-b;
printf("%d",r);

else
printf("Error");

getch();
}