Bonjour
Je ne comprends pas pourquoi dans la case 3 le résultat de ma division me donne 1 au lieu de 1.5 alors que j ai remplacé mes variables int par des float
unsigned char operation = 3;
float x = 15;
float y = 10;
void setup()
{
Serial.begin(9600);
}
void loop()
{
//le paramètre "opération" donne le type d'opération à faire
maFonction(x, y, operation);
}
int maFonction(int param1, int param2, int param3)
{
float resultat = 0;
switch(param3)
{
case 0 : //addition, resultat = 15
resultat = param1 + param2;
Serial.println(resultat);
break;
case 1 : //soustraction, resultat = -5
resultat = param1 - param2;
Serial.println(resultat);
break;
case 2 : //multiplication, resultat = 50
resultat = param1 * param2;
Serial.println(resultat);
break;
case 3 : //division, resultat = 0 (car nombre entier)
resultat = param1 / param2;
Serial.println(resultat);
break;
default :
resultat = 0;
break;
}
delay(1000);
return resultat;
}
cordialement chris