Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/11/2012, 09:02
Avatar de cotolon
cotolon
 
Fecha de Ingreso: octubre-2012
Mensajes: 55
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Error con el codigo if

Así te queda el código y abajo de el te explico algunos errores:

Código C++:
Ver original
  1. #include<stdio.h>
  2. #include<conio.h>
  3.  
  4.  
  5. main()
  6.  
  7. {
  8.  
  9. int a;
  10. int b;
  11. char operador;
  12. int resultado;
  13.  
  14. printf("\nIntrodusca la operacion que desea realizar:");
  15. scanf("%c", &operador);
  16.  
  17.  
  18. printf("\nIntrodusca a:");
  19. scanf("%d", &a);
  20.  
  21. printf("\nintrodusca b:");
  22. scanf("%d", &b);
  23.  
  24. if(operador == '+')
  25. {
  26.     resultado = a + b;
  27.     printf("\nEs resultado es: %d", resultado);
  28. }
  29. else if (operador == '-')
  30. {
  31.     resultado = a - b;
  32.     printf("\nEs resultado es: %d", resultado);
  33. }
  34. else
  35.     printf("\nNo asignaste ningun operador de suma o resta.");
  36.  
  37.  
  38. }

Bueno copié el primer código, y lo arreglé, el tema es el scanf("%c", operador). cuando es %c significa que debe almacenar un caracter.

Lo segundo es que en el if para chequear un caracter es (operador == '+') y tu lo dejaste sin comillas. Lo otro que no es error es que no es necesario pedir 2 veces los valores de a y b puedes pedirlo todo junto, es decir el tipo de operacion y el valor de a y b. también se te olvidó encerrar en {} lo que sigue del if (el {} se usa cuando hay 2 líneas o más que quieres que se ejecuten dentro del if). Y lo último sería que en el printf cuando imprimes el resultado se te olvidó colocar donde esta el "%d" para que en ese lugar imprima la variable resultado. Espero te sirva