Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme scanf

Sujet résolu
    3 novembre 2006 à 17:35:50

    bonjour,
    voila jai comencer un mini programme(bon d'accord il n'est pas terminer)

    mon problem ses que les 1er scanf marche mais le dernier scanf il ne marche pas
    et que je fait un printf pour voir la valeur de se que scanf est sencer avoir pris jai la valeur de l'avant dernier scanf?

    bon enfin je vous mais le code source vous comprendrer mieux

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include "main.h"
     
    int main(int argc, char *argv[])
    {
            char newUtilisateur[3];
            char newUtilisateur2[]="non";
            personne utilisateur[10];
        long continuer=0;
           
            printf("\t\tCarnet d'adresse\n");
            do
            {
            printf("\tajouter une personne personne au carnet d'adresse\n");
            printf("nom de la  personne : ");
            scanf("%s",utilisateur[0].nom);
            printf("quel est son prenom : ");
            scanf("%s",utilisateur[0].prenom);
            printf("quel est son age : ");
            scanf("%ld",utilisateur[0].age);
        printf("Voulez-vous ajouter un autre utilisateur ?");
            scanf("%s",newUtilisateur);
            }while((strcmp(newUtilisateur, newUtilisateur2) == 0));

      system("PAUSE");     
      return 0;
    }
    • Partager sur Facebook
    • Partager sur Twitter
      3 novembre 2006 à 18:04:19

      qu'entends-tu par marche pas ?
      Tu ne peut pas rentrer tu chaîne de caractère avec un espace ?
      • Partager sur Facebook
      • Partager sur Twitter
        3 novembre 2006 à 18:07:40

        oui sa fait comme si je n'avai pas mis de scanf
        mais quand je fai un printf pour voir la valeur de la variable
        la valeur a les letre de lavant dernier scanf
        test tu verra
        • Partager sur Facebook
        • Partager sur Twitter
          3 novembre 2006 à 20:00:01

          je pense que c'est parce qu'il reste des caractères dans le buffer .
          Après chaque scanf("%s",...) essaye de faire çà:

          int c;
          while((c=getchar())!=EOF && ((char)c)!='\n');
          • Partager sur Facebook
          • Partager sur Twitter
            3 novembre 2006 à 20:25:15

            Citation : ford

            mon problem ses que les 1er scanf marche mais le dernier scanf il ne marche pas


            scanf() c'est le diable... :diable:

            http://www.siteduzero.com/tuto-3-11181-1-c-realiser-des-saisies-securisees-grace-a-fgets.html
            :ange:
            • Partager sur Facebook
            • Partager sur Twitter
            Music only !

            probleme scanf

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown