Exercice 27
Énoncé
Écrire une fonction qui reçoit en arguments 2 nombres flottants et un caractère, et qui
fournit un résultat correspondant à l’une des 4 opérations appliquées à ses deux
premiers arguments, en fonction de la valeur du dernier, à savoir : addition pour le
caractère +, soustraction pour -, multiplication pour * et division pour / (tout autre
caractère que l’un des 4 cités sera interprété comme une addition). On ne tiendra pas
compte des risques de division par zéro.
Écrire un petit programme (main) utilisant cette fonction pour effectuer les 4
opérations sur les 2 nombres fournis en donnée.
#include
using namespace std ;
float oper (float v1, float v2, char op)
{ float res ;
switch (op)
{ case '+' : res = v1 + v2 ;
break ;
case '-' : res = v1 - v2 ;
break ;
case '*' : res = v1 * v2 ;
break ;
case '/' : res = v1 / v2 ;
break ;
default : res = v1 + v2 ;
}
return res ;
}
main()
{ float oper (float, float, char) ; // déclaration de oper
float x, y ;
cout << "donnez deux nombres réels : " ;
cin >> x >> y ;
cout << "leur somme est : " << oper (x, y, '+') << "\n" ;
cout << "leur différence est : " << oper (x, y, '-') << "\n" ;
cout << "leur produit est : " << oper (x, y, '*') << "\n" ;
cout << "leur quotient est : " << oper (x, y, '/') << "\n" ;
}
61
Énoncé
Écrire une fonction qui reçoit en arguments 2 nombres flottants et un caractère, et qui
fournit un résultat correspondant à l’une des 4 opérations appliquées à ses deux
premiers arguments, en fonction de la valeur du dernier, à savoir : addition pour le
caractère +, soustraction pour -, multiplication pour * et division pour / (tout autre
caractère que l’un des 4 cités sera interprété comme une addition). On ne tiendra pas
compte des risques de division par zéro.
Écrire un petit programme (main) utilisant cette fonction pour effectuer les 4
opérations sur les 2 nombres fournis en donnée.
#include
using namespace std ;
float oper (float v1, float v2, char op)
{ float res ;
switch (op)
{ case '+' : res = v1 + v2 ;
break ;
case '-' : res = v1 - v2 ;
break ;
case '*' : res = v1 * v2 ;
break ;
case '/' : res = v1 / v2 ;
break ;
default : res = v1 + v2 ;
}
return res ;
}
main()
{ float oper (float, float, char) ; // déclaration de oper
float x, y ;
cout << "donnez deux nombres réels : " ;
cin >> x >> y ;
cout << "leur somme est : " << oper (x, y, '+') << "\n" ;
cout << "leur différence est : " << oper (x, y, '-') << "\n" ;
cout << "leur produit est : " << oper (x, y, '*') << "\n" ;
cout << "leur quotient est : " << oper (x, y, '/') << "\n" ;
}
61
