Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mon programme plante

je suis aux structures des variables

Sujet résolu
    23 novembre 2007 à 19:09:22

    Bonjour à tous, je suis donc rendu au chapitre "créez vos propres types de variables".
    J'ai vu le cours sur les sctructures, dans le cours il donne l'exemple pour l'utilisation des structures, je l'ai complété, et voilà ce que ça donne au niveau du code.

    struscure.h :

    1. typedef struct presentation presentation;
    2. struct presentation
    3. {
    4.     char nom[100];
    5.     char prenom[100];
    6.     char adresse[1000];
    7.     long age;
    8.     int garcon;
    9. };


    main.c :

    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #include "structure.h"
    4. int main(int argc, char *argv[])
    5. {
    6.     presentation personne1;
    7.     printf("Quel est votre prenom ? ");
    8.     scanf("%s", personne1.prenom);
    9.     printf("Votre nom ? ");
    10.     scanf("%s", personne1.nom);
    11.     printf("Votre age ?");
    12.     scanf("%ld", personne1.age);
    13. printf("Votre adresse ?");
    14. scanf("%s", personne1.adresse);
    15.     printf("Vous vous appelez %s %s, vous avez %ld ans et vous habitez %s\n\n", personne1.prenom, personne1.nom, personne1.age, personne1.adresse);
    16.         system("PAUSE");
    17.         return 0;
    18. }


    Quand j'arrive au moment où je tape l'age et que je fait entrer ça plante misérablement : machin a rencontré un problème et doit fermer....

    Merci d'avance de votre aide ;)
    ++
    • Partager sur Facebook
    • Partager sur Twitter
      23 novembre 2007 à 20:11:39

      je pense que c'est le triple appelle de string qu'il n'aime pas, essayez ceu-ci ;)

      1. int main(int argc, char *argv[])
      2. {
      3.     presentation personne1;
      4.     printf("Quel est votre prenom ? ");
      5.     scanf("%s", personne1.prenom);
      6.     printf("Votre nom ? ");
      7.     scanf("%s", personne1.nom);
      8.     printf("Votre age ?");
      9.     scanf("%ld", personne1.age);
      10. printf("Votre adresse ?");
      11. scanf("%s", personne1.adresse);
      12.     printf(" \n Vous vous appelez %sg", personne1.prenom);
      13.     printf(" %s", personne1.nom);
      14.         printf(", vous avez %ld", personne1.age);
      15.         printf("ans et vous habitez %s\n\n", personne1.adresse);
      16.         system("PAUSE");
      17.         return 0;
      18. }
      • Partager sur Facebook
      • Partager sur Twitter
        23 novembre 2007 à 20:27:52

        Salut ^^
        Je crois que tu as oublié tous tes "&" dans les scanf.

        J'espere que ça aidera :)

        • Partager sur Facebook
        • Partager sur Twitter
          23 novembre 2007 à 20:45:26

          Effectivement il manquait les "&" aux scanf, mais si je les avait pas mis il y a une bonne raison : dans le cours ils ont été oubliés aussi...
          • Partager sur Facebook
          • Partager sur Twitter
            23 novembre 2007 à 20:47:01

            Bah pas besoin de trouver des excuses, ça arrive ^^
            Mais signale le à m@teo21 qu'il y a des erreurs dans son code :)

            • Partager sur Facebook
            • Partager sur Twitter
              23 novembre 2007 à 20:52:51

              Plus exactement il manque un & pour la demande d'age.
              Pour le nom, prénom et adresse on en a pas besoin car ce sont des tableaux (cf tutos sur les tableau por savoir pourquoi si tu as oublié ;) )
              • Partager sur Facebook
              • Partager sur Twitter
                23 novembre 2007 à 21:02:54

                Ah oui merci Dr-Jackal! :)
                Mais si on en met c'est pas faux .... si?

                • Partager sur Facebook
                • Partager sur Twitter

                Mon programme plante

                × 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