int getchar(void)
qui est déclarée dans stdio.h retourne un caractère lu au clavier.
L'instruction fflush(stdin) permet de vider le "buffer" de lecture pour qu'il n'y ait pas de caractères, tel un "retour charriot", qui y subsistent.
On commencera par ne faire que saisir et afficher le tableau, on testera cette première partie puis on complètera avec la partie concernant la recherche d'entiers dans le tableau.
Spécifications
Le nombre maximum de données fournies par l'utilisateur (que nous avons choisi égal à 10) sera une constante du programme notée MAX.
Le programme n'aura pas de variable globale.
On écrira, en plus de la fonction main, deux fonctions :
- Une fonction de prototype :
- int saisit(int * tableau);
qui demande un nombre d'entiers à saisir, vérifie que ce nombre ne dépasse pas MAX (si ce n'est pas le cas, la fonction redemande le nombre d'entiers à saisir) puis saisit les entiers et les range dans le tableau ; la fonction retourne le nombre d'entiers saisis. La fonction ne fait pas de contrôle pour le cas où l'utilisateur indiquerait autre chose que des entiers.
- Une fonction de prototype :
- void affiche (int * tableau, int nbEntiers);
qui affiche les nbEntiers premiers entiers contenus par le tableau tableau.
- Une fonction de prototype :
- int detecte(int * tableau, int nbEntiers, int cle);
qui cherche dans le tableau passé en paramètre l'entier de valeur cle, sachant que le tableau contient nbEntiers entiers. La fonction retourne 0 si la cle ne figure pas ou sa place, comprise entre 1 et nbEntiers, si elle figure.
Corrigé
Voir le corrigé