Probleme de saisie [Résolu/Fermé]

Signaler
Messages postés
8
Date d'inscription
mardi 20 novembre 2012
Statut
Membre
Dernière intervention
1 décembre 2012
-
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
-
Bonsoir les freres, j'ai un probleme que je ne l'ai pas trouvé de solution;
je suis entrain de faire un projet qui contient ce dernier la saisie d'une 1ere date qui contient le jour le mois et l'année, j'ai écrit tous le code, y a pas d'erreur à la compilation mais à l'execution le programme demand la saisie du jour deux alors que je ne lui pas demamnder de faire ça et plus que ça quand je veux faire l'affichage il m'affiche les deux nombres du jour que je l'ai entré et le mois et il n'affiche pas l'année, et pour la 2eme date tous est juste pour le jour mais il ne m'affiche pas comme je veux il m'affiche comme ça : aaaa/mm/jj
malgré que je l'ai précisé la maniére de l'affichage, SVP je suis besoin de votre aide car c'est trés urgent et je vous remercis d'avance.
Et voici une capture d'écran pour l'execution et voici le code aussi.
*****************************************
#include<stdio.h> 
#include<stdlib.h> 
#include<string.h> 
int main ()  
{ 
    int j1,m1,a1,j2,m2,a2,cin,num_l; 
int juste=1; 
printf("Le Numero de la carte d'identite SVP \n"); 
        scanf("%d",&cin); 
        printf("Veuillez saisir le numero de livre SVP \n"); 
        scanf("%d",&num_l); 
         
printf("jj \n"); 
scanf("%i ",&j1); 

printf("mm \n"); 
scanf("%d ", &m1 ); 

printf("aa \n"); 
scanf("%d ",&a1); 
printf("jj \n"); 
scanf("%d ",&j2); 


printf("mm \n"); 
scanf("%d ", &m2 ); 


printf("aa \n"); 
scanf("%d ",&a2); 

printf("CIN = 0%d \n",cin); 
                printf("Numero Livre = %d \n",num_l); 
                printf("Date d'emprunt : %d /%d/%d \n",j1,m1,a1);  
                printf("Date de retour : %d /%d/%d \n",j2,m2,a2);  
system("PAUSE"); 
} 

2 réponses

Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
86
Peut-être pas correcte:
printf("jj \n");
scanf("%i ",&j1);
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 756
Pour info, le %i est tout à fait correct ;-)
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
86
Je ne suis pas un spécialiste du langage C.
Quel en est sa signification ?
le "%d" désigne un entier, mais je n'ai aucune idée pour le "%i"
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 756
Ce sont des synonymes... Ils désignent entiers signés tous les deux.
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
86
Merci fiddy pour cette précision.
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 756
Il ne faut pas mettre des espaces dans tes scanf dans le premier argument.
scanf("%i ", ...) => scanf("%i", ...)
De même pour les autres.

Pourquoi mélanger %i et %d ?
Tu as oublié le return 0; final pour signaler que tout va bien.
Messages postés
8
Date d'inscription
mardi 20 novembre 2012
Statut
Membre
Dernière intervention
1 décembre 2012
4
je vous remercis tous et précisement toi fiddy, le problème fonctionne 100%