Cours 4.2. scanf

scanf est la fonction duale de la fonction printf pour la saisie au clavier.

scanf

scanf est une fonction de la bibliothèque stdio.h.

// Saisie un entier au clavier et l'enregistre dans la variable x
scanf ("%d", &x);

Il est possible de saisir plusieurs variables en même temps, mais je vous déconseille cette syntaxe qui peut être problématique si elle n'est pas maîtrisée. Voici un exemple :

scanf ("%d%d", &x, &y);

Notez que le deuxième paramètre est précédé d'un &. Ce caractère stipule qu'il s'agit d'un pointeur. Nous y reviendrons plus tard dans le cours sur les pointeurs, mais sans le caractère, la fonction ne pourrait pas écrire dans la variable.

Veillez à ne pas oubliez le & avant les variables dans les paramètres de la fonction scanf.

Exemple

L'exemple ci-dessous demande à l'utilisateur de saisir une distance en kilomètres et la convertit en miles :

float distance_km, distance_miles;

// Saisie la distance au clavier
printf ("Entrez la longueur (km) : ");
scanf ("%f", &distance_km );

// Convertit la distance en miles
distance_miles =  distance_km / 1.609;

// Affiche le résultat de la conversion
printf ("%.1f km = %.1f miles\n", distance_km, distance_miles);

Exercice

Exercice 1

Écrire un programme qui demande à l'utilisateur de saisir un angle en degrés. Le programme affiche l'angle converti en radians conformément à l'exemple ci-dessous :

Entrez l'angle en degrés : 45
45.00 degrés = 0.7854 radians

Exercice 2

Écrire un programme qui demande à l'utilisateur de saisir la longueur et la largeur d'un rectangle. La longueur et la largeur sont de type entier. Le programme affiche le périmètre du rectangle conformément à l'exemple ci-dessous :

Entrez la largeur du rectangle : 5
Entrez la longueur du rectangle : 3
Le périmètre du rectangle est 16

Exercice 3

Écrire un programme qui demande à l'utilisateur de saisir son poids en kilogrammes et sa taille en mètres. Le programme calcule alors l'IMC de l'utilisateur conformément à l'exemple ci-dessous. La formule permettant de calculer l'IMC est exposée ici.

Quel est votre poids en kilogrammes ?
63
Quelle est votre taille en mètres ?
1.7
Votre IMC est de 21.8 kg/m².

Quiz

Quelle syntaxe est correcte ?

Vérifier Bravo ! Il ne faut pas oublier le & avant la variable. Essaie encore ...

Dans un scanf, pourquoi le & est important avant la variable ?

Vérifier Bravo ! La fonction scanf attend un pointeur sans lequel elle ne pourrait pas écrire dans la variable. Essaie encore ...

Quelle instruction permettra de saisir la variable speed ?

long double speed;
Vérifier Bravo ! Il faut mettre le code de format associé au type de la variable. Essaie encore ...

Voir aussi


Dernière mise à jour : 22/11/2022