IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

problème chaine de structure


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 6
    Par défaut problème chaine de structure
    Lut!

    Soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    struct Livre{
        int code;
        char auteur[20];
        char titre[20];
        mot motsCle[5];
    };
     
    struct Bibliotheque_noeud {
        struct Livre *livre; //pointeur vers donnees livre
        struct Bibliotheque_noeud *livreSuivant; //pointeur vers livre suivant
     
    };
     
    struct Bibliotheque_noeud * lire(struct Bibliotheque_noeud *bibliotheque);
    int main(void){
    ..
    .
    ..
     bibliotheque=lire(bibliotheque);
    ..
    ..
    ..
     return 0;
    };
    struct Bibliotheque_noeud * lire(struct Bibliotheque_noeud *bibliotheque){
            //initialisation compteur pour boucle lecture de mots cles
            int i;
            //init variable contenant les donnees de livre
            struct Livre *nouveau;
            nouveau = (struct Livre *) malloc(sizeof(struct Livre));
     
            printf("Inserer code de livre :");
            scanf("%d", &(nouveau->code));
            printf("Inserer  nom d'auteur:");
            scanf("%s", nouveau->auteur);
            printf("Inserer le titre :");
            scanf("%s", nouveau->titre);
    comment lire chiane de caractaire avec des espace ???!!

  2. #2
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut
    Deux solutions:
    1/ Utiliser scanf en spécifiant que "\n" est le délimiteur et non " " comme cela est le cas par défaut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scanf ("%[^\n]%*c", name);
    2/ Utiliser fgets: http://www.cplusplus.com/reference/cstdio/fgets/


    EDIT: pour pas changer ta manière d'écrire, plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scanf ("%[^\n]%s", name);

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 6
    Par défaut
    Citation Envoyé par LinuxUser Voir le message
    Deux solutions:
    1/ Utiliser scanf en spécifiant que "\n" est le délimiteur et non " " comme cela est le cas par défaut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scanf ("%[^\n]%*c", name);
    2/ Utiliser fgets: http://www.cplusplus.com/reference/cstdio/fgets/


    EDIT: pour pas changer ta manière d'écrire, plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scanf ("%[^\n]%s", name);
    j'essaye avec les 2 mais rien change

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 6
    Par défaut
    un petit rewind(stdin) résoudre mon problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    rewind(stdin);
            fgets(nouveau->auteur, 20, stdin);

Discussions similaires

  1. [PHP-JS] Problème affichage avec structure if
    Par kitty2006 dans le forum Langage
    Réponses: 31
    Dernier message: 07/09/2006, 18h01
  2. windows socket, problème envoi de structure :s
    Par ramislebob dans le forum Réseau
    Réponses: 7
    Dernier message: 29/07/2006, 23h17
  3. Probléme avec une structure
    Par astragoth dans le forum C++
    Réponses: 3
    Dernier message: 25/04/2006, 20h31
  4. [MySQL] Problème INSERTION ET STRUCTURE
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 31/01/2006, 14h22
  5. [Virtual Pascal] [WinSock] Problème d'affichage structure SERVENT
    Par Alcatîz dans le forum Autres IDE
    Réponses: 2
    Dernier message: 12/07/2005, 22h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo