Partage
  • Partager sur Facebook
  • Partager sur Twitter

Structures et types

initialisation scanf d'une structure via une fonction

Sujet résolu
    31 octobre 2019 à 1:29:14

    Bonjour à tous ! 

    Actuellement, je rencontre un problème au niveau de l'initialisation de ma structure (j'ai repris l'exemple du cours d'origine avec les abscisses et des ordonnées). Voici le code : 

    En fait, je souhaite créer un tableau de structure de point. Et j'essaye de créer une fonction qui demande chaque entrée à l'utilisateur et qui initialise la structure pour chacun des points.

    Seulement, ce code est faux. J'ai vu le cours de Mathieu Nebra, j'arrive à changer les coordonnes manuellement dans le code (point->abscisse = 21 par exemple), mais je n'arrive pas à initialiser la structure par une demande utilisateur. Quelqu'un pourrait m'aider? 

    rouloude a écrit:

    Pour poster du code sur le forum, on utilise le bouton code </> du forum.

    scanf attend l'adresse de la variable à modifier !

    D'accord, mais comment je fais pour que mon scanf effectue les modifications sur la valeur de mon pointeur? 



    -
    Edité par LoupSalomé 31 octobre 2019 à 2:31:00

    • Partager sur Facebook
    • Partager sur Twitter
      31 octobre 2019 à 2:19:24

      Pour poster du code sur le forum, on utilise le bouton code </> du forum.

      scanf attend l'adresse de la variable à modifier !

      • Partager sur Facebook
      • Partager sur Twitter
        31 octobre 2019 à 2:25:18

        void initialiserCoordonnes(coordonnes *point)
        {
            int i = 0;
            int abscisse[TAILLE] = {0};
            int ordonnee[TAILLE] = {0};
        
            for(i=0 ; i<TAILLE ; i++)
            {
                printf(" \n Entrez l'abscisse du point %d \n" , i);
                scanf("%d" , &abscisse[i]);
                point[i]->abscisse = abscisse[i];
                printf("\n Entrez l'ordonne du point %d \n " , i);
                scanf("%d" , &ordonnée[i]);
                point[i]->ordonne = ordonnee[i];
            }
        }

        -
        Edité par LoupSalomé 31 octobre 2019 à 2:28:46

        • Partager sur Facebook
        • Partager sur Twitter
          31 octobre 2019 à 8:08:13

          ordonne, ordonnee ou ordonnée, il faut se décider !

          ___

          void initialiserCoordonnes(coordonnes *point)
          {
            for(size_t i = 0; i < TAILLE; i++)
            {
              printf("\nEntrez l'abscisse du point %d\n" , i);
              scanf("%d", &point[i].abscisse);
          
              printf("\nEntrez l'ordonnee du point %d\n" , i);
              scanf("%d", &point[i].ordonnee);
            }
          }
          • Partager sur Facebook
          • Partager sur Twitter
            31 octobre 2019 à 21:15:01

            Non c'est bon j'ai réussi à résoudre le problème en regardant un autre sujet, Merci quand même !
            • Partager sur Facebook
            • Partager sur Twitter
              2 novembre 2019 à 1:55:53

              michelbillaud a écrit:

              Comment ça, "non" ?

              Désolé, avec le recul ma réponse était assez sèche (voir impolie). Je n'avais pas encore testé la solution de magma (qui s'est avéré être fonctionnelle quand je l'ai testé). J'avoue être passé un peu vite sur les réponses (ce que je n'aurais pas dû faire bien entendu). Je remercie à tous d'avoir pris la peine de me répondre (puisque au final, toutes vos réponses étaient pertinentes), et sur ce, je vous souhaite bonne continuation.. 



              • Partager sur Facebook
              • Partager sur Twitter

              Structures et types

              × 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