scanf
est la fonction duale de la fonction printf
pour la saisie au clavier.
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.
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);
É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
É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
É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².
Quelle syntaxe est correcte ?
&
avant la variable.
Essaie encore ...
Dans un scanf
, pourquoi le &
est important avant la variable ?
Quelle instruction permettra de saisir la variable speed
?
long double speed;