On va commencer doucement en créant une fonction qui va effacer l'écran.
Mais heu... on peut pas le faire avec system("clear");
Si,si bien entendu mais celle-ci nous permettra d'éviter d'utiliser system();

.
Voilà l'instruction qui permet d'effacer l'écran

:
Code : C
Mais ça veut dire quoi ce truc ?
Pas de panique ! En fait la chaîne de caractère n'est qu'une suite de "caractères spéciaux" interprétée par la console et qui a pour résultat d'effacer l'écran.
Attention ! Toutes les consoles n'utilisent pas les mêmes paramètres donc il se peut que ce code ne fonctionne pas sur tout les PC.
Ceci est également valable pour les fonctions sur les couleurs.
Evidemment on pourrait écrire cette instruction à chaque fois que l'on veut effacer l'écran mais le plus simple serait de créer un header contenant tout ce dont on a besoin.
Créeons donc le fichier couleurs.h et débutons le :
Code : C1
2
3
4
5
6 | #ifndef COULEURS
#define COULEURS
#include <stdio.h>
#endif
|
Pour le moment ce fichier est bien vide mais il va se remplir.
On va donc faire une directive préprocesseur qui va afficher notre ligne magique et donc effacer l'écran.
Notre directive va s'appeler : clrscr() pour clear screen (un bon moyen de s'en souvenir non ?)

.
Pour définir une directive préprocesseur il faut utiliser
Code : C vous vous rappelez ?
Créons donc la directive (enfin !

) :
Code : C1 | #define clrscr() printf("\033[H\033[2J")
|
nous l'utiliserons donc en faisant dans notre programme :
Code : C1
2 | #include "couleurs.h" //surtout ne pas l'oublier
clrscr();
|
Mais ?! Dans les cours de M@teo il est écrit que les directives préprocesseurs ne prennent pas de ";"
C'est vrai mais regardez bien je n'ai pas mis de ";" dans le define donc il en faut pour finir l'instruction.
Pourquoi faire comme ça alors que ce que fait M@teo est plus simple
J'utilise cette technique afin de ne pas me faire avoir entre ";" ou pas ";" ?
Avec ceci je mets le ";" comme d'habitude.
Bien entendu vous faites comme vous voulez

.
Voilà donc à quoi ressemble notre fichier couleurs.h
Code : C1
2
3
4
5
6
7
8 | #ifndef COULEURS
#define COULEURS
#include <stdio.h>
#define clrscr() printf("\033[H\033[2J")
#endif
|
Voilà pour l'effacement de l'écran. facile non ?

Maintenant nous allons rajouter un peu de couleur dans cette console.
