Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/03/2010, 22:21
Torvalds
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 8 meses
Puntos: 0
Ayuda, error de declaracion

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. //Prototipos de funciones
  5. double sumar(double op1, double op2);              //f() = Funcion que suma.
  6. double restar(double op1, double op2);            //f() = Funcion que resta.
  7. double multiplicar(double op1, double op2);      //f() = Funcion que Multiplica.
  8. double dividir(double op1, double op2);         //f() = Funcion que divide.
  9.  
  10. int main()
  11. {
  12.     /**inicializa el arreglo de 4 apuntadores a funciones que toman cada una
  13.     dos argumentos double y devuelven void**/
  14.     void (*funciones[4])(double, double) = (sumar, restar, multiplicar, dividir);
  15.  
  16.     int seleccion; //Variable para almacenar la seleccion del usuario.
  17.  
  18.     printf("Introduzca un numero entre 0 y 3, 4 para terminar: ");
  19.     scanf("%d", &seleccion);
  20.     //Procesa la seleccion del usuario.
  21.     while(seleccion >= 0 && seleccion <4)
  22.  
  23.     /**invoca la funcion en la ubicacion de la eleccion en el arreglo "funciones",
  24.     y pasa la eleccion a otro argumento**/
  25.     {
  26.         (funciones[seleccion]) (seleccion);
  27.         printf( "Introduzca un numero entre 0 y 3, 4 para terminar: ");
  28.         scanf( "%d", &seleccion );
  29.     }//Fin del while.
  30.  
  31.  
  32.     return 0;//Indica que el programa termino exitosamente.
  33. }//fin del main
  34.  
  35. double sumar(double op1, double op2)
  36. {
  37.     double r;
  38.     printf("\n introduzca el primer sumando:");
  39.     scanf ("%lf", &op1);
  40.     printf("\n introduzca el segundo sumando:");
  41.     scanf ("%lf", &op2);
  42.     r = op1 + op2;
  43.     return (r); //así asignamos a la variable Suma, el valor de c=a+b
  44. }
  45.  
  46. double restar(double op1, double op2)
  47. {
  48.     double r;
  49.     printf("\n introduzca el primer restando:");
  50.     scanf("%lf", &op1);
  51.     printf("\n introduzca el segundo restando:");
  52.     scanf("%lf", &op2);
  53.     r = (op1-op2);
  54.     return (r);
  55. }
  56.  
  57. double multiplicar(double op1, double op2)
  58. {
  59.     double r;
  60.     printf("\n introduzca el primer multiplicando:");
  61.     scanf("%lf", &op1);
  62.     printf("\n introduzca el multiplicador:");
  63.     scanf("%lf", &op2);
  64.     r = op1 * op2;
  65.     return(r);
  66. }
  67.  
  68. double dividir(double op1, double op2)
  69. {
  70.     double r;
  71.     printf("\n introduzca el primer dividendo:");
  72.     scanf("%lf", &op1);
  73.     printf("\n introduzca el segundo dividendo:");
  74.     scanf("%lf", &op2);
  75.     r = op1 / op2;
  76.     return (r);
  77. }