Hola, estoy empezando a programar en C de forma más o menos autodidacta (diría que mi profesor sabe aún menos que yo...
) y me he quedado atascado en un programa de calculadora, que haga sumas, restas, multiplicaciones y divisiones.
La estructura la tengo más o menos clara pero aunque las sumas y restas van bien, las multiplicaciones y divisiones dan resultados muy extraños (5*5=580, 12/2=587 ¿?).
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main()
{
int a,b,rs;
char signo,s,r,m,d,op;
s='+'; r='-'; m='*'; d='/';
printf ("Calculadora\n");
inicio:
printf ("\nIntroduce un numero, el signo de la operacion (+, -, /, *) y el segundo numero\n");
scanf ("%i", &a);
getche ("%c", &signo);
scanf ("%i", &b);
if (signo=s)
{
rs=a+b;
goto ver;
}
if (signo=r)
{
rs=a-b;
goto ver;
}
if (signo=d)
{
if (b==0)
{
printf ("Imposible dividir entre cero\n");
system ("PAUSE");
goto inicio;
}
else
{
rs=a/b;
goto ver;
}
}
if (signo=m)
{
rs=a*b;
goto ver;
}
else
{
printf ("Error, operación no valida o error de sintaxis\n");
system ("PAUSE");
}
ver:
printf ("%i\n", rs);
system ("PAUSE");
return 0;
}
El compilador que uso es Dev-C++
Gracias por adelantado