Exercices en langage C/Variables et constantes
Un livre de Wikibooks.
| Exercices en langage C |
| Sommaire |
| Livre |
| Modifier ce modèle |
[modifier] Entrée d'une valeur
Écrivez un programme age.c qui demande l'âge de l'utilisateur, puis qui l'affiche.
Pour lire l'age , vous utiliserez la fonction scanf déclarée dans stdio.h sous la forme (void)scanf("%d", &ageLu);.
Solution
Correction
/* Nom : age.c Auteur : Thierry46 Role : Demande l'âge de l'utilisateur et l'affiche à l'écran. Paramètres : non pris en compte. Code retour : 0 (EXIT_SUCCESS) Pour produire un exécutable avec le compilateur libre GCC : gcc -Wall -o age.exe age.c Pour exécuter, tapez : ./age.exe Version : 1.0 du 5/1/2008 Licence : GNU GPL */ #include <stdio.h> #include <stdlib.h> int main(void) { /* Déclare la variable entière age qui contiendra la valeur lue */ int ageLu = 99; /* Ecrit la question à l'écran */ (void)puts("Quel est votre age :"); /* Lit la réponse de l'utilisateur */ (void)scanf("%d", &ageLu); /* Affiche à l'écran l'entier lu */ (void)printf("Vous avez %d an(s) !\n", ageLu); return EXIT_SUCCESS; }
Exécution
MacMini-TM:~/Documents/developpement/c thierry$ ./age.exe Quel est votre age : 43 Vous avez 43 an(s) !
Avec valeur illégale (non entière) entrée :
MacMini-TM:~/Documents/developpement/c thierry$ ./age.exe Quel est votre age : ? Vous avez 99 an(s) !
Remarques
- L'initialisation de ageLu permet d'avoir une valeur par défaut (99) en cas de problème de lecture.
- Le code retour de scanf() est volontairement ignoré pour simplifier, ce qui est déconseillé dans un programme opérationnel.
- Il faudrait analyser le code retour et agir en conséquence.
- La fonction scanf() permet bien d'autres possibilités, voir sa page de man : man -s3 scanf.
- Voir les autres fonctions de cette famille : fscanf, sscanf...