C/C++: Exemple de pointeur sur une fonction

Author:

 calcul, pointeur
Download

 #include 
#include 
#include

 /*
 Création d'un calculatrice
 sur le console

  */
double Add( double x, double y )
{
	return x + y;
}
double Sous( double x, double y )
{
    return x - y;
}
double Mul( double x, double y )
{
	return x * y;
}
double Div( double x, double y )
{
	return x / y;
}

/* Initialisation d'un tableau de  pointeurs sur 5 fonctions qui prennent deux
   valeurs de type 'double' en paramètre et retournent une valeur de type 'double'.
 */
double (*funcTable[5])(double, double)
         = { Add, Sous, Mul, Div, pow }; 

// Définition d'un tableau de pointeur sur des chaînes de caractères:
char *msgTable[5] = { "Somme", "Difference", "Produit", "Quotient", "Puissance" };

int main( )
{
  int i;
  double x = 0, y = 0;

  printf( "Tapez deux opérandes séparés d'espace:" );
  if ( scanf( "%lf %lf", &x, &y ) != 2 )
    printf( "Entrée incorrecte.n" );

  for ( i = 0; i < 5; ++i )
    printf( "%10s: %6.2fn", msgTable[i], funcTable[i](x, y) );

  return 0;
}

Leave a Reply

Your email address will not be published. Required fields are marked *