realbrucest escribió:Danielc escribió:Pero estoy haciendo un programa simple que realiza operaciones básicas (suma resta multiplicacion y division) y le pongo scanf en cada caso para que agregue el valor de un numero escrito a una variable y no me lo coje.. He revisado todo xD...
Por curiosidad, si no tienes esta línea antes del scanf pónsela:
fflush(stdin);
Ya se la pongo xD, que me toca volver a escribirlo todo xD, lo habia hechoy lo guarde y ahora me aparece el archivo c ya para compilar con una informacion rara xD...
Lo hago y te cuento.. Gracias..
EDIT:
No me funciona, mira, este es el codigo:
#include <stdio.h>
#include <stdlib.h>
int main (int argc,char **argv)
{
int a;
int b;
int resultado;
char operacion;
printf("Bienvenido. Programa de operaciones básicas. Esta es una prueba de concepto de Danielc \n\n");
printf("Realizare una operacion segun el valor que introduzca, este valor se almacenara en la variable operacion y definira que tipo de operacion se llevara a cabo.\n");
printf("Escriba s para suma, r para resta, m para multiplicacion y d para division\n");
fflush(stdin);
scanf("%c", &operacion);
switch(operacion)
{
case 's':
printf("Escriba el valor de los dos numeros separados por un +. Los numeros deben ser enteros\n");
fflush(stdin);
scanf("%i+%i", &a, &b);
resultado = a+b;
printf("El resultado es %i\n", &resultado);
break;
case 'r':
printf("Escriba el valor de los dos numeros separados por un -. Los numeros deben ser enteros\n");
fflush(stdin);
scanf("%i-%i", &a, &b);
resultado = a-b;
printf("El resultado es %i\n", &resultado);
break;
case 'm':
printf("Escriba el valor de los dos numeros separados por un *. Los numeros deben ser enteros\n");
fflush(stdin);
scanf("%i*%i", &a, &b);
resultado = a*b;
printf("El resultado es %i\n", &resultado);
break;
case 'd':
printf("Escriba el valor de los dos numeros separados por un /. Los numeros deben ser enteros\n");
fflush(stdin);
scanf("%i/%i", &a, &b);
resultado = a*b;
printf("El resultado es %i\n", &resultado);
break;
default:
printf("Operacion no identificada\n");
}
system("pause");
return 0;
}
Cuando compilo y ejecuto me pide el valor que se le va a dar a la variable operacion, por poner un ejemplo, le introduzco la letra s, me pide los numeros para realizar una suma, le pongo lo mas obvio 1+1 y lanza un valor de como 289760 xD...
Que puede ser??..
Gracias por tu interes de antemano..