Vous êtes sur la page 1sur 5

COURS/TP DE LANGAGE C

CHAPITRE 4

UTILISATION D'UNE BIBLIOTHEQUE

Ce petit chapitre vise ˆ expliquer comment se servir d'une biblioth マ que de fonctions. On prendra
quelques exemples dans la biblioth マ que de BORLAND C++.

NOTION DE PROTOTYPE

Les fichiers de type ".h" (conio.h, dos.h stdio.h etc...), appelŽs fichiers d'en t ミ te contiennent la
dŽfinition des prototypes des fonctions utilisŽes dans le programme. Le prototype prŽcise la
syntaxe de la fonction: son nom, les param マ tres Žventuels ˆ passer, la valeur Žventuelle
retournŽe au programme.
Grâce aux lignes "#include", le compilateur lit les fichiers de type ".h" et vŽrifie que la syntaxe
de l'appel ˆ la fonction est correcte.

FONCTION NE RENVOYANT RIEN AU PROGRAMME

Ce sont les fonctions de type void.

Exemple: clrscr

fonction Efface l'Žcran de la fenêtre dos.

prototype void clrscr();

prototype dans conio.h et donc biblioth マ que ˆ charger.

Une fonction ne renvoyant rien (de type void) s'Žcrit telle que. Ici pas de passage d'arguments.

ex: clrscr(); /* efface l'Žcran */


printf("BONJOUR\n");
printf("AU REVOIR\n");

1
2 COURS/TP DE LANGAGE C
FONCTION RENVOYANT UNE VALEUR AU PROGRAMME

Ce sont les fonctions de type autre que void. Elles renvoient au programme une valeur dont le
type est prŽcisŽ dans la documentation.
COURS/TP DE LANGAGE C
Exemple: kbhit

fonction Teste une Žventuelle frappe au clavier

prototype int kbhit();

prototype dans conio.h et donc biblioth マ que ˆ charger.

La fonction kbhit renvoie un entier au programme. Cet entier vaut 0, tant qu'il n'y a pas eu de
frappe clavier. On ne peut donc pas Žcrire la fonction telle que. Il faut la traiter comme une
variable de type int.
ex: while(kbhit ()== 0); /* tend que kbhit vaut 0, attendre */

FONCTION AVEC PASSAGE DE PARAMETRE

Exemple: log

fonction Fonction logarithme nŽpŽrien..

prototype double log(double);

prototype dans math.h et donc biblioth マ que ˆ charger.

La fonction log, renvoie au programme un rŽel. On traite la fonction comme une variable de type
double. Il faut lui passer un paramètre de type double.

ex: double x,y;


printf("SAISIR x: ");
scanf("%f",&x);
y = log(x);
printf("log(x) = %f\n",y);

Exercice IV_1:

En utilisant randomize et random jouer au 421.

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

3
4 COURS/TP DE LANGAGE C
void main()
{
char c;
int n1,n2,n3;
printf("JEU DU 421\n");
randomize();
do
{
clrscr() ;
/* LANCEMENT DES DES */
printf("LANCER LES DES EN FRAPPANT UNE TOUCHE: ");
getch();
n1 = random(6) + 1;
n2 = random(6) + 1;
n3 = random(6) + 1;
printf("\n VOICI LES DES: %1d %1d %1d\n",n1,n2,n3);

/* TEST */
if(((n1==4) && (n2==2) && (n3 ==1))||
((n1==4) && (n2==1) && (n3 ==2))||
((n1==2) && (n2==4) && (n3 ==1))||
((n1==2) && (n2==1) && (n3 ==4))||
((n1==1) && (n2==2) && (n3 ==4))||
((n1==1) && (n2==4) && (n3 ==2)))printf("GAGNE !\n");

else printf("PERDU !\n");

printf("\nPOUR REJOUER FRAPPER O SINON UNE TOUCHE


QUELCONQUE\n");
c = getch();
}
while((c=='O')||(c=='o'));
}
COURS/TP DE LANGAGE C