322 membres inscrits | 2 connectés | 74 sujet(s) sur le forum dont 363 post(s) | Mardi 2 décembre 2008 à 10h04
fleche Tutorial
Lecture du tuto

Chapitre 5: Les conditions

Nous allons attaquer quelque chose d'essentiel en C, oui je sais depuis le début tout l'est :p, les conditions. Vous allez vous en servir dans TOUT vos programmes sans exceptions. Bien entendu, ces conditions utilisent des variables, donc une bonne connaissance du chapitre précédent.


Les conditions en général



Qu'entend-t-on par condition?

Une condition impose une chose à respecter, si elle ne l'ai pas, rien ne s'exécutera.
Une condition peut être par exemple votre âge ou bien une limitation de vitesse, toutes ces choses peuvent être une condition.

En programmation, on s'en sert beaucoup, par exemple pour contrer une erreur éventuellement survenue au cours du chargement d'une librairie, ou bien même pour tester la valeur d'une variable rentrer par un utilisateur.

Les différents types de conditions


Nous allons utiliser des mots-clés pour dire que nous mettons une condition. Le premier d'entre-eux est : if.

Une condition n'est ni une instruction, ni une déclaration, donc pas de ;.

Voici comment on procède :

Code C:


if( ) //entre () mettez votre contidion
{
   //du code
}

 


Une condition se met DANS une fonction, si vous voulez faire une condition à l'extérieur de la fonction, vous ne pouvez pas pour le moment :p.

Maintenant, il doit y avoir une question que vous vous posez : Qu'est-ce que je dois mettre entre les ()?

On a deux possibilités :

Soit on utilise VRAI ou FAUX, pour le compilateur 1 ou 0, ce que l'on ce sert pour ne pas exécuter du code ou l'exécuter.

Soit l'on utilise des opérateurs de comparaisons, c'est-à-dire la même chose qu'en maths ?

Voici les opérateurs de comparaisons :

Egal ==
Différent !=
Strictement supérieur >
Strictement inférieur <
Supérieur ou égal >=
inférieur ou égal <=

Faites bien attention au signe égal qui est '==' et non '=', si vous utilisez un '=', vous attribuez une valeur et la condition et toujours vrai, ce qui peut provoquer certain problème.


On peut faire une comparaison sur la taille par exemple avec une variable taille : ( taille >= 180), voilà comment çà fonctionne.
Par exemple, on peut faire une condition sur l'âge ou une limite de vitesse, toutes ces choses peuvent être une condition.

Maintenant, pour appliquer ce que l'on vient de voir, on va faire un petit programme qui détermine si vous êtes majeur ou pas suivant l'âge donné par l'utilisateur.

Réfléchissez bien, et regardez ma solution après, sinon çà n'a aucune utilité.

Voici ma solution :

Code C:

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

int main()
{
   unsigned int age;
   printf('Votre age : ');
   scanf('%d', &age);
   
   //Notre condition commence ici :
   if(age >=18)
   {
      printf('Vous etes majeur');
   }
   
   system("PAUSE");
   return 0;
}
 


Excercice peu compliqué, mais par la suite, çà va se corser ?.

Vous auriez bien envie de mettre quelque chose quand il n'est pas majeur, et bien c'est ce que l'on va voir.

Un autre mot-clé pour les conditions en C est else. Il signifie sinon, il ne prend aucune condition, voici comment on l'utilise :

Code C:


else
{
 //votre code
}
 
 


Voici comment on peut alors compléter le programme précédent :


Code C:

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

int main()
{
   unsigned int age;
   printf('Votre age : ');
   scanf('%d', &age);
   
   //Notre condition commence ici :
   if(age >=18)
   {
      printf('Vous etes majeur');
   }
   
   else
   {
      printf('Vous n\'etes pas majeur');
   }
   system("PAUSE");
   return 0;
}
 


Pas bien compliqué non plus.

Passons à autre chose mais qui reste dans les conditions, si l'on veut faire des conditions intermédiaires avant de passer à else directement.

On utilise else if :D. Il s'utilise comme if, mais se place après le if :

Code C:


else if ( ) //mettez votre condition entre ()
{
  //votre code
}

 


Ainsi, on peut s'amuser à mettre des bornes bien précises, amusez-vous à faire plein de else if avec notre programme en faisant des catégories d'âges, si vous avez un problème, utilisez le forum.

On peut pas cumuler les conditions?


Si on peut parfaitement, mais il faudra utiliser différents symboles entre les conditions :

ET &&
OU ||
NON !

Voici comment faire :

Code C:


if (age>=18 && argent < 1000)
{
  printf("Vous n'avez pas beaucoup d'argent");
}
 


Et si au lieu de faire plein de else if, on pouvait condenser, réduire le code?


Oui, en effet cela existe, nous allons voir ceci dans la prochaine partie.

Le switch



Que se cache-t-il derrière ce mot?

Il s'agit d'une structure conditionnelle.

Voici comment on l'utilise :

Code C:


switch( ) //entre () le nom de la variable
{

}

 


Entre les accolades, nous allons mettre différentes choses suivant les valeurs de la variables, on utilise 'case' suivit de la valeur puis : votre code et un 'break', sinon votre compilation plantera. Si l'on veut une condition en cas d'absence d'une variable donnée dans les cases, on utilise default.

Code C:


int choix

printf('Continuer\n');
printf(' 1. OUI 2.NON');

switch(choix)
{

   case 1 :
      printf('Vous continuez');
      break;
   
   case 2 :
      printf('Vous vous arrêtez là!!!');
      break;
   
   default :
      printf('Mauvais choix');
      break;
}

 


Vous avez pu remarquer que j'ai fais une sorte de menu, et le switch sert souvent à çà en programmation.

Excercez-vous!



Vous pouvez refaire un programme qui prend l'âge et indique si l'on est pas majeur, dans combien d'année on l'ai.

Vous pouvez faire un menu de restaurant pour vous entrainez avec le switch et faire une phrase par choix ou même demandé le nombre de fois, et à la fin de chaque case, mettre combien de fois le client a commandé un plat.

Conclusion



Voilà, c'est tout pour le moment sur les conditions, excercez vous bien, prochain chapitre, nous verrons les boucles.

précédentsommaire