Partage
  • Partager sur Facebook
  • Partager sur Twitter

structure et fonction

    2 octobre 2021 à 20:16:11

    bonjour j'ai vraiment besoin de votre aide

    voici l'enonce

    Soit une personne caracterisee par son nom prenom date de naissance

    Creer la structure Personne qui represente une personne

    Ecrire la fonction Personne creerPersonne(void) qui renvoie une personne

    #include<stdio.h>
    
    int main()
    {
        struct date
        {
            int mois;
            int jour;
            int annee;
    
        };
    
        struct date ddn;
    
        struct personne
        {
            char nom[10];
            char prenom[10];
    
        };
        struct personne pers1;
    
    
        struct personne CreerPersonne(void){
            printf("Renseignements des caracteristiques de la personne\n");
            printf("Entrer le nom  :");
            scanf("%s",pers1.nom);
            printf("Entrer le prénom :");
            scanf("%s",pers1.prenom);
            printf("Entrez la date de naissance  :");
            scanf("%d",&ddn.mois);
    
        }
    }

    j'ai eu a faire ca


    • Partager sur Facebook
    • Partager sur Twitter
      2 octobre 2021 à 20:58:46

      Bonjour ! Pour commencer, il faut sortir du 'main' les définitions de structures et de fonctions. Ensuite, pour que la fonction retourne quelque chose, il faut une instruction 'return'. De plus, le 'main' doit contenir un appel à la fonction CreerPersonne.
      • Partager sur Facebook
      • Partager sur Twitter
        2 octobre 2021 à 21:20:11

        robun a écrit:

        Bonjour ! Pour commencer, il faut sortir du 'main' les définitions de structures et de fonctions. Ensuite, pour que la fonction retourne quelque chose, il faut une instruction 'return'. De plus, le 'main' doit contenir un appel à la fonction CreerPersonne.

        d'accord mais le return va prendre quoi vu qu'il s'agit d'une structure



        • Partager sur Facebook
        • Partager sur Twitter
          2 octobre 2021 à 21:54:32

          Tu as dit « Ecrire la fonction Personne creerPersonne(void) qui renvoie une personne ».

          Le prototype de la fonction sera donc :

          Personne creerPersonne(void)

          C'est une fonction qui renvoi un truc de type 'Personne'. Donc, obligatoirement, sans même réfléchir, tu sais qu'il y aura avant de sortir de la fonction :

          return une_personne ;   // une_personne est une variable de type 'Personne'

          (appelle cette variable comme tu veux, bien sûr).



          • Partager sur Facebook
          • Partager sur Twitter
            3 octobre 2021 à 2:03:05

            Ce n'est pas tout à fait la bonne façon de faire les choses.
            + ta fonction est définie à l'intérieur du main. Très mauvaise pratique.
            pour plus de facilité, définis les structures au début, puis le code de la fonction, puis celui du main.
            + ta structure personne ne contient pas le champs pour la date.
            + tu as 3 champs dans la date. Ou bien tu fais 3 scanf ou bien tu ajustes le format et les paramètres dans le scanf.
            + comme l'a dit robun, tu ne fais pas de return dans la fonction.
            + tu n'appelles pas la fonction et tu n'assignes pas la valeur de retour à une variable de type personne.

            edit:
            Je t'ai fait un petit exemple simple:
            -
            #include <stdio.h>
            typedef struct divers divers;
            struct divers {
                int a;
                int b;
            };
            divers donne(void) {
                divers objet;
                printf("a >");
                scanf("%d", &objet.a);
                printf("b >");
                scanf("%d", &objet.b);
                return objet;
            }
            int main(void) {
                divers chose;
                chose = donne();
                printf("a=%d, b=%d\n", chose.a, chose.b);
            }

            -
            Edité par PierrotLeFou 3 octobre 2021 à 2:26:34

            • Partager sur Facebook
            • Partager sur Twitter

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

            structure et fonction

            × 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