Test if dans une affectation

Résolu
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 - 30 août 2005 à 10:32
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 30 août 2005 à 15:36
Salut,



je crois savoir que l'on peut mettre un test if dans la même instruction qu'une affectation de variable :



je voudrais mettre le résulatat d'un calcul dans une variable seulement
si le calcul répond à une condition, tout cela en une ligne, c'est
possible je crois ?



int pourcentage (mon_calcul()< 100);



c'est un truc dans le genre je crois, mais je connais pas la syntaxe exacte.

7 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
30 août 2005 à 10:36
int pourcentage = ( condition ? valeur si vraie : valeur si fausse );

c'est ce qu'on appelle l'opérateur ternaire.

Sébastien FERRAND
3
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
30 août 2005 à 10:39
et tu sais s'il y'a moyen de faire deux tests à la fois ? genre >= 0 et <= 100 ?
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
30 août 2005 à 10:42
bah oui :

int pourcentage = ( truc >= 0 && truc <= 100 ? machin : bidule );

Sébastien FERRAND
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
30 août 2005 à 10:48
ah bah oui, tout con

au passage, pas moyen de trouver de réponse pour "opérateur ternaire" sur le forum.

mais apparemment c la même chose qu'en java, et c'est expliquéici
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
30 août 2005 à 10:51
oui, c'est la même chose... d'ailleur, Java est basée sur une syntaxe C... et cet opérateur nous vient du C.
pour un peu plus de doc : http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/csspec/html/vclrfcsharpspec_7_12.asp

Sébastien FERRAND
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
30 août 2005 à 11:18
merci pour ces précisions, j'essayrais d'y penser à l'avenir.



Je pense que l'on doit gagner quelques millièmes en temps d'exécution p/r à une structure de base : if () then else
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
30 août 2005 à 15:36
Si tu veux gagner du temps avec les conditions, je te donne une astuce: Dans une expression avec un && la condition de droite n'est pas evaluée si la condition de gauche est FALSE. Dans une expression avec un || la condition de droite n'est pas evaluée si la condition de gauche est TRUE. En sachant ca, tu peux gagner du temps en mettant la condition la plus susceptible d'etre vraie ou fausse ( selon ce que tu veux faire ) en premier.
0