Vous êtes sur la page 1sur 3

LANGAGE C

TD4 : LES BOUCLES

OBJECTIF : UTILISER LES BOUCLES WHILE …

1. RETOUR SUR LA FONCTION GETCH()

La fonction getch () permet d'attendre la frappe d'un caractère au clavier, de le lire et de


le renvoyer.

Deux utilisations peuvent être faites de getch () :

- la première est celle permettant d'attendre la frappe d'une touche sans se soucier de sa valeur,
- la seconde est celle permettant de lire un caractère au clavier.

Par exemple, pour attendre la saisie d’un caractère et le stockée dans une variable, on pourra écrire :

char car;
car = getch (); // équivalant à la fonction scanf("%c",&car);

Pour résumer, getch () effectue le traitement suivant :

- Attend la frappe d'une touche au clavier.


- Renvoie le caractère frappé.

2. LA FONCTION WHILE()

La fonction while () permet d’exécuter des taches tant qu’une ou plusieurs conditions ne soient pas
vérifiées.

La syntaxe est la suivante :

while ( conditions )
{
alors;
}

Par exemple, saisissez le programme suivant :

******************************
char car;

void main()
{
Julien SOUVERAIN 1
LANGAGE C

while ((car != 's') && (car != 'S'))


{
printf («Veuillez saisir un caractere :\n\n ») ;
car = getch ();
}

printf (« Bravo, vous avez saisie le s ! \n\n ») ;


getch () ;
}
********************************

Pour vous entraîner, faites l’exercice suivant :

Demander la saisie d’un nombre compris entre 0 et 100;


L’utilisateur doit ressaisir ce nombre tant que celui-ci n’est pas égal à un multiple de 9 et impair.
Afficher le nombre si la condition est vérifiée.

3. LA FONCTION NOMBRE ALEATOIRE

rand ( ) et srand (time(NULL)) utilisent la bibliothèque <time.h>.

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

void main()
{
int nb_alea; // Nombre aléatoire

srand (time(NULL)); // Initialise le système aléatoire.

/* Le nombre aléatoire (entre 0 et 49) est stocké dans une variable puis affiché */
nb_alea = rand ()%50;
printf ("%d",nb_alea);

getch ();
}

srand (time(NULL)) permet d'initialiser le système aléatoire.


rand()%N permet d'obtenir un nombre entre 0 et (N-1).
rand()%N+D permet d'obtenir un nombre entre D et D+(N-1).

Julien SOUVERAIN 2
LANGAGE C

4. EXERCICES D’APPLICATIONS

Programmer un jeu permettant de deviner un nombre aléatoire compris entre 0 et 200 en aidant le
joueur en lui indiquant si le nombre saisi est plus petit ou plus grand que le nombre mystère.

Cet exercice servira pour un prochain TD sur les algorithmes de tri. Merci de la conserver dans
votre répertoire préféré.

5. MINI PROJET : LE 421


Compléter le jeu du 421 quand le joueur saisie la touche 2 afin d’afficher le nombre de coups à jouer, les
numéros des dés et le score obtenu :

Tant que le joueur n’a pas joué dix fois :


- Afficher : Saisir la lettre J pour lancer les dés
- Afficher le nombre de coup à jouer
- Le score obtenu

Quitter le programme après affichage du dernier score obtenu.

Julien SOUVERAIN 3

Vous aimerez peut-être aussi