Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

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

 calcul, pointeur
{filelink=13379}

 #include <stdio.h>
#include <stdlib.h>
#include
<math.h>
 /*
 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;
}

No comments yet.

Leave a Comment