Saisie d'une chaine de caractéres

Fermé
adil_new Messages postés 2 Date d'inscription vendredi 2 mars 2012 Statut Membre Dernière intervention 2 mars 2012 - 2 mars 2012 à 15:04
adil_new Messages postés 2 Date d'inscription vendredi 2 mars 2012 Statut Membre Dernière intervention 2 mars 2012 - 2 mars 2012 à 15:15
Bonjour,

je développe une petite application de gestion des clients d'une banque,donc j'ai créé la structure suivante:
struct Client
{
char nom[20];
char prenom[20];
char adresse[20];
int numCompte;
float solde;
};

parmi les traitement que je dois faire c'est la modification des champs nom, prenom et adresse. j'ai utilisé la fonction gets mais le programme ne me donne pas la main pour saisir le prenom( je saisie le nom et, il saute le prenom , et puis je saisie l'adresse.
voici le code :

switch(ch)
{


case 1:
printf("le numero du compte d'un client");
scanf("%d",&nCompteRech);
for(i=0;i<n;i++)
{
if(nCompteRech==T[i].numCompte)
{
// la modification du nom


printf("Le nom actuel est %s.\n Est ce que vous voulez le changer, tapez O si ou sinon tapez N\n",T[i].nom);
scanf("%c",&c);
scanf("%c",&c);
if(c=='O')
{
getchar();
printf("Entrez le nouveau nom :\n");
gets(T[i].nom);
getchar();
}
// la modification du prénom

printf("Le prénom actuel est %s.\n Est ce que vous voulez le changer, tapez O si ou sinon tapez N\n",T[i].prenom);
scanf("%c",&c);
//scanf("%c",&c);
if(c=='O')
{


// printf("Entrez le nouveau prénom:\n");

gets(T[i].prenom);

}

// la modification de l'adresse

printf("L'adresse actuelle est %s.\n Est ce que vous voulez la changer, tapez O si ou sinon tapez N\n",T[i].adresse);
scanf("%c",&c);
scanf("%c",&c);
if(c=='O')
{
getchar();
printf("Entrez la nouvelle adresse:\n");
gets(T[i].adresse);
}


}

j'attends votre aide svp c urgent
merci d'avance



2 réponses

chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 303
2 mars 2012 à 15:08
Bonjour,

je ne suis pas un spécialiste, mais pour ton prénom, tu oublies un getchar(); juste avant le printf("Entrez le nouveau prénom:\n");

Cordialement.
0
adil_new Messages postés 2 Date d'inscription vendredi 2 mars 2012 Statut Membre Dernière intervention 2 mars 2012
2 mars 2012 à 15:15
merciii pour ta réponse c quoi le rôle de getchar(); est ce que tu px m'expliquer ce qui ce passe exactement??
0