Chapitre précédantChapitre suivant

Les Conditions

If, Else, If else


Lorsque vous programmerez vous ferez très souvent appel à elles, en effet elles permettent d'effectuer des instructions que à certaines conditions par exemple si une égalité est vérifiée.
Pour tester si une condition est remplie il faut utiliser le mot clé if (si en français) qui va foncionner comme ceci:

if(condition)
{
/*si et seulement si la condition est vérifiée alors les instructions situées entre les accolades seront effectuées*/
}
/*ensuite le programme continue comme si de rien n'était ou presque.*/



Maintenant supposez que si et seulement si la condition n'est pas remplie il faille effectuer d'autres actions. Pour cela il existe le mot clé else (sinon en français) qui s'utilise comme suit:

if(condition)
{
/*si et seulement si la condition est vérifiée alors les instructions situées entre ces accolades seront effectuées*/
}
else
{
/*si et seulement si la condition n'est pas vérifiée alors les instructions situées entre ces accolades seront effectuées*/
}
/*ensuite le programme continue.*/



Maintenant vous voulez que si la première condition n'est pas remplie une deuxième soit testée vous pouvez utiliser else if (sinon si en français) comme ceci:

if(condition)
{
/*si et seulement si la première condition est vérifiée alors les instructions situées entre ces accolades seront effectuées*/
}
else if(deuxième condition)
{
/*si et seulement si la première condition n'est pas vérifiée et la deuxième l'est alors les instructions situées entre ces accolades seront effectuées*/
}
else
{
/*si et seulement si aucune condition n'est pas vérifiée alors les instructions situées entre ces accolades seront effectuées*/
}
/*ensuite le programme continue.*/



Créer une condition


Lorsqu'une condition est remplie, elle retourne 1=TRUE(vrai) sinon elle retourne 0=FALSE(faux)
Voici les signes qui permettent de créer des conditions et leur valeur de retour:

==:1 Si et seulement si les deux membres sont égaux.
!= :1 Si et seulement si les deux membres ne sont pas égaux.
> :1 Si et seulement si le membre de gauche est plus grand que le membre de droite.
< :1 Si et seulement si le membre de gauche est plus petit que le membre de droite.
>= :1 Si et seulement si le membre de gauche est plus grand ou égal au membre de droite.
<= :1 Si et seulement si le membre de gauche est plus petit ou égal au membre de droite.


si vous omettez de préciser une condition, la valeur retournée par défaut sera 1.



Maintenant que je vous-ai expliqué le fonctionement d'une conditions vous pouvez comprendre ce code:

#include <stdio.h>
#include <stdlib.h>

int main()
{
int e=0;
printf("Entrez un nombre\n");
scanf("%ld",&e);
if(e<10)
{
printf("le nombre entre est plus petit que 10\n",e);
}
else if(e<20)
{
printf("le nombre entre est compris entre 10 et 19 inclus\n",e);
}
else
{
printf("le nombre entre est plus grand ou égal à 20\n",e);
}
system("PAUSE");
return 0;
}


J'ai entré 4:

Entrez un nombre
4
le nombre entre est plus petit que 10
Appuyez sur une touche pour continuer...



Vous aurez probalement besoin de tester plusieurs conditions en même temps, voici comment les combiner:
AND(ET): &&, les deux conditions doivent être vérifiées

condition1 && condition2valeur
0 && 00
0 && 10
1 && 01
1 && 11



OR(OU): ||, au moins une condition doit être vérifiée.

condition1 || condition2valeur
0 || 00
0 || 10
1 || 01
1 || 11



NON: !, retourne l'inverse de la condition.

!condition1valeur
!01
!10




Il est possible de les combiner en utilisant des parenthèses comme ceci:

if( (e>5 || i<3) && e>0)


Retourne TRUE si e est positif et, i<3 ou e>5 .



Les Switch


Ils sont beaucoup moins utilisés que les conditions avec if mais permettent de faciliter et de rendre plus rapide le programme dans certains cas.
Voici comment ils se construisent:

#include <stdio.h>
#include <stdlib.h>

int main()
{
int e;
printf("Menu Principal\n");
printf("1: Jouer\n");
printf("2: Options\n");
printf("3: Credits\n");
printf("4: Quitter\n");
printf("Entrez votre choix\n");
scanf("%ld",&e);
switch(e)
{
case 1:
printf("Vous avez choisi de jouer\n");
break;
case 2:
printf("Vous avez choisi de modifier les options\n");
break;
case 3:
printf("Vous avez choisi de voir les credits\n");
break;
case 4:
printf("Vous avez choisi de quitter\n");
break;
default:
printf("Choix invalide\n");
}
system("PAUSE");
return 0;
}


Ce que ça donne:

Menu Principal
1: Jouer
2: Options
3: Credits
4: Quitter
Entrez votre choix
1
Vous avez choisi de jouer
Appuyez sur une touche pour continuer...


vous écrivez switch et entre les parenthèses, la variable à tester, puis entre accolades vous écrivez les instructions à effectuer en fonction de la valeur de la variable. Par exemple si vous voulez effectuer des instructions si la variable testée est égale à 3 vous écrivez

case 3 :

n'oubliez pas les deux points. les instructions situées après seront effectuées et pour marquer la fin des instructions a effectuer vous placez cette ligne :

break;


Les instructions seront effectuées tant que le programme n'aura pas rencontré cette ligne, ainsi vous pourrez faire:

...
case 1 :
Un groupe d'instructions
case 2 :
Un autre groupe d'instructions
break;
...


Si la variable vaut 2 seul le deuxième groupe d'instructions sera effectué tandis que si la variable vaut 1 les deux groupes d'instructions seront effectués car il n'y a pas le break;
Si vous voulez effectuer des instructions si la variable ne correspond à aucun des cas,il vous suffit de mettre:

default:


Il ne doit pas y avoir d'autres instructions case après l'instruction default. De plus la variable est testée au début du switch si vous la modifiez entre les accolades, cette modification ne sera pas prise en compte, voyez cet exemple:


switch(i)
{
case 0:
i++;
break;
case 1:
i++;
break;
default:
i=0;
}


Si i=0, alors le switch effectuera le cas 0 mais pas le second, même si i=1 après le cas 0.
si i est différent de 0 et de 1 au niveau du switch alors i sera égal à 0.(default)



Pour information, le break; situé juste avant la fermeture de l'accolades n'est pas indispensable vous pouvez l'omettre sans problème.


Et voila tout ça pour pas grand chose car vous vous servirez probablement peu des switch.


Chapitre précédantChapitre suivant

Copyright "NOS Corporation", tous droits réservés
pour me contacter polo_asm@hotmail.fr
Valid XHTML 1.0 Strict