1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| #include <stdio.h>
#define LG_NOM 30
char *c;
struct date{
int jour;
int mois;
int annee;
};
struct personne{
char nom[LG_NOM+1];
date date_embauche;
date date_poste;
};
void saisie(struct personne &nouveau )
{
printf("donner le nom= ");
scanf("%s", nouveau.nom);
printf("donner la date de l'embauche=");
scanf("%d %d %d", &nouveau.date_embauche.jour ,&nouveau.date_embauche.mois, &nouveau.date_embauche.annee );
printf("Date poste=Date embauche?(O|N) :");
// ma problème est ici lors de la saisie de le caractère c !!
scanf("%c", c); // le compilateur ignore cette instruction et passe a la prochaine
if ((*c=='O') || (*c=='o'))
{
printf("date poste(jj mm aa):");
scanf("%d %d %d",&nouveau.date_poste.jour ,&nouveau.date_poste.mois ,&nouveau.date_poste.annee);
}
}
void affiche(struct personne &nouveau)
{
printf("-------------------------\n");
printf("Nom : %s\n",nouveau.nom);
printf("Date embauche(jj mm aa): %d %d %d\n",nouveau.date_embauche.jour ,nouveau.date_embauche.mois, nouveau.date_embauche.annee);
if (*c!='1' ) printf("Date poste(jj mm aa) : %d %d %d\n", nouveau.date_poste.jour ,nouveau.date_poste.mois, nouveau.date_poste.annee);
printf("------------------\n");
}
void main()
{
struct personne nouveau;
saisie(nouveau);
affiche(nouveau);
} |
Partager