Partage
  • Partager sur Facebook
  • Partager sur Twitter

initialiser un tableau dans une structure

    3 janvier 2022 à 20:05:21

    typedef struct Coordonnee Coordonnee;
    
    struct Coordonnee{
    char prenom[100];
    char nomDeFamille[100];
    int adresse[100];
    char nomDeRue[100];
    char ville[100];
    char numeroDeTelephone[100];
    int age[100];
    } ;
    
    void initialiserCoordonnees(Coordonnee *pointeur);
    int Directive (void);      //affiche les instruction a l'écran
    
    
    voici la fonction initialiser 
    void initialiserCoordonnees(Coordonnee *pointeur){
    
     pointeur->prenom[100] = {0};
    }
    
    mon main 
    #include <stdio.h>
    #include <stdlib.h>
    #include "Coordonnee.h"
    #include <conio.h>
    #include <windows.h>
    
    
    int main(){
    
    
     int choix = 0;
     Coordonnee carnet;
     Coordonnee *pointeur = NULL;              //pointeur pointant vers la structure Coordonnee
     pointeur = &carnet;
     initialiserCoordonnees(&pointeur);        //initialiser les tableaux des carnets de chaque utilisateur
    
    // affichons le menu du programme
    choix = Directive();
    if (choix == 1){
    printf("Quel est son prenom                     : ");
    scanf("%s",carnet.prenom);
    printf("\nQuel est son nom de famille           : ");
    scanf("%s",carnet.nomDeFamille);
    printf("\nQuel est son adresse                  : ");
    scanf("%d",carnet.adresse);
    printf("\nQuel est le nom de sa rue             : ");
    scanf("%s",carnet.nomDeRue);
    printf("\nQuel est le nom de sa ville           : ");
    scanf("%s",carnet.ville);
    prinft("\nQuel est son numéro de telephone      : ");
    scanf("%s",carnet.numeroDeTelephone);
    prinft("\nQuel est son age                      : ");
    scanf("%d",carnet.age);
    
    }else if (choix == 2){
    
    
    }else if (choix == 3){
    
    
    }else if (choix ==0){
    
    printf("\n\n\nAu revoir !");
    printf("\n\n");
    printf("Pesez sur une touche pour fermer");
    exit(0);
    }
    
    
    
    return  0; }
    
    c'est quoi la syntaxe pour que je puisse initialiser chaque tableau qui represente ma structure?
    • Partager sur Facebook
    • Partager sur Twitter
      3 janvier 2022 à 20:17:57

      Hello,

      pointeur est déjà.... un pointeur, qui contient l'adresse de carnet. Pourquoi envoyer à la fonction l'adresse de pointeur (donc l'adresse d'une adresse) plutôt que pointeur ?

      Et prenom est de type char *, donc pour le mettre à zéro,  tu utilises strcpy() ou tu mets le 1er caractère à zéro.

      Donc,

      Coordonnee carnet;
      Coordonnee *pointeur = &carnet
      initialiserCoordonnees(Coordonnee pointeur);
      
      ----------------------------------
      
      // et
      initialiserCoordonnees(Coordonnee *pointeur) {
          strcpy(pointeur->prenom,"");
      // ou
          *pointeur->prenom=0;    // ou ='\0'
      // ou
          pointeur->prenom[0]=0;    // ou ='\0'
      
      

      -
      Edité par edgarjacobs 3 janvier 2022 à 20:31:04

      • Partager sur Facebook
      • Partager sur Twitter

      On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

        3 janvier 2022 à 20:37:51

        Indente ton code, c'est très désagréable à lire !

        edgarjacobs a écrit:

        pointeur est déjà.... un pointeur, qui contient l'adresse de carnet. Pourquoi envoyer à la fonction l'adresse de pointeur, plutôt que pointeur ?

        Et pourquoi pas envoyer directement l'adresse de carnet, ça torturerait moins l'esprit !

        JonathanOlivier2 a écrit:

        c'est quoi la syntaxe pour que je puisse initialiser chaque tableau qui représente ma structure?
            Coordonnee carnet = {0};


        PS : Tu stockes l'adresse dans un tableau d'int ?

        et l'age, tu as prévue de la stoker en 100 exemplaires ou bien ?...



        -
        Edité par rouIoude 3 janvier 2022 à 20:47:14

        • Partager sur Facebook
        • Partager sur Twitter
        ...
          3 janvier 2022 à 21:46:16

          rouIoude a écrit:

          Indente ton code, c'est très désagréable à lire !

          edgarjacobs a écrit:

          pointeur est déjà.... un pointeur, qui contient l'adresse de carnet. Pourquoi envoyer à la fonction l'adresse de pointeur, plutôt que pointeur ?

          Et pourquoi pas envoyer directement l'adresse de carnet, ça torturerait moins l'esprit !

          JonathanOlivier2 a écrit:

          c'est quoi la syntaxe pour que je puisse initialiser chaque tableau qui représente ma structure?
              Coordonnee carnet = {0};


          PS : Tu stockes l'adresse dans un tableau d'int ?

          et l'age, tu as prévue de la stoker en 100 exemplaires ou bien ?...



          -
          Edité par rouIoude il y a environ 1 heure

          Merci de ta reponse , je viens de voir des problemes, je vais revoir mes cours sur les structures et pointeurs pour m'aider dans mon apprentissage

          • Partager sur Facebook
          • Partager sur Twitter
            4 janvier 2022 à 1:54:56

            • Partager sur Facebook
            • Partager sur Twitter

            Le Tout est souvent plus grand que la somme de ses parties.

              4 janvier 2022 à 8:20:17

              Quand, dans un projet, on ne connaît pas la syntaxe pour faire quelque chose, le mieux c'est de créer un source A PART où on ne s'occupe que de ce problème, et dans une version très réduite. Pour ne pas additionner  les emmerdements.

              Alors ça pourrait commencer par

              struct S {
                 int t[2];
              };
              
              struct S s = ....

              En tatonnant par essais et erreurs, en lisant bien les messages du compilateur, on trouve rapidement comment il faut faire. Et on peut s'en servir dans le projet.

              Un des avantages de C, c'est qu'il n'y a besoin que de très peu de code pour tester une construction syntaxique.

              -
              Edité par michelbillaud 4 janvier 2022 à 8:26:47

              • Partager sur Facebook
              • Partager sur Twitter

              initialiser un tableau dans une structure

              × 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