Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/04/2012, 10:48
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses
Puntos: 228
Respuesta: Llamadas a las funciones con los parámetros "a mano".

Fijate lo siguiente:
demostracion llama a operaciones_basicas(1,3,1)

pero en opciones basicas haces:
printf("\n -> Introduzca el primer sumando: ");
scanf("%i",&num1);
printf("\n -> Introduzca el segundo sumando: ");
scanf("%i",&num2);

osea que estas pidiendo por teclado esos valores....
La logica del programa esta mal.... el scanf deberia estar fuera de la funcion operaciones basicas.

Código C++:
Ver original
  1. void operaciones_basicas(int opcion,int num1,int num2) {
  2.  
  3. if (opcion == 1) /* Suma */
  4. {
  5. int resultado;
  6. resultado=num1+num2;
  7. printf("\n La SUMA de %i + %i es igual a %i",num1,num2,resultado);
  8.  
  9. }
  10.  
  11. else if (opcion == 2) /* Resta */
  12. {
  13. int resultado;
  14. resultado=num1-num2;
  15. printf("\n La RESTA de %i - %i es igual a %i",num1,num2,resultado);
  16.  
  17. }
  18.  
  19. else if (opcion == 3) /* Multiplicación */
  20. {
  21. int resultado;
  22. resultado=num1*num2;
  23. printf("\nLa MULTIPLICACION de %i * %i es igual a %i",num1,num2,resultado);
  24. }
  25.  
  26. else /* División */
  27. {
  28. float resultado;
  29. if (num2!=0)
  30. {
  31. resultado=(float) num1/num2;
  32. printf(" El cociente de la DIVISION es igual a %f\n",resultado);
  33. }
  34. else printf("\n No se puede realizar esa division porque el divisor es 0!!\n"); }
  35. }

Por otro lado en el main:

Código C:
Ver original
  1. int num1,num2;
  2. if((opcion > 0)&& (opcion < 5))
  3. {
  4. printf("\n -> Introduzca el primer operador: ");
  5. scanf("%i",&num1);
  6. printf("\n -> Introduzca el segundo operador: ");
  7. scanf("%i",&num2);
  8. operaciones_basicas(opcion,num1,num2);
  9. }

Basicamente esa es la logica de tu programa.

Saludos