Actuellement je suis un cours pour apprendre le langage C.
Le problème qui se pose à moi c'est que pour un exercice dont j'avais trouvé la même solution que dans l'exercice mais cela ne fonctionne pas.
Voici ce que j'ai fais :écrivez un programme qui lit la date du clavier et écrit les données ainsi que le nombre de données correctement reçues sur l'écran.
Exemple:
Introduisez la date (jour mois année): 11 11 1991
données reçues : 3
jour : 11
mois : 11
année : 1991
Et la solution de l'exercice :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <stdio.h> int main() { int recu, jour, mois, annee; printf("Entrez une date séparée par un espace (ex.: 20 05 1999) : "); recu = scanf("%i %i %i", &jour, &mois, &annee); printf("Nombre de données reçues : %i\n", recu); printf("Jour : %i\nMois : %i\nAnnée : %i", jour, mois, annee); return (0); }Mais le résultat donné n'est pas celui souhaité, les variables mois et annee lisent le premier et le 2ème chiffre de mois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include <stdio.h> main() { int JOUR, MOIS, ANNEE, RECU; printf("Introduisez la date (JOUR, MOIS, ANNéE) : "); RECU=scanf("%i %i %i", &JOUR, &MOIS, &ANNEE); printf("\ndonnées reçues : %i\njour : %i\nmois : %i\nannee : %i\n", RECU, JOUR, MOIS, ANNEE); return 0; }
EDIT : Je viens de découvrir que le réel problème viens du fait que le programme fonctionne correctement mais dès que l'on met un 0 dans le mois le programme bug
Partager