Partage
  • Partager sur Facebook
  • Partager sur Twitter

[c] probleme entrée nombre de joueur

Sujet résolu
    6 mars 2006 à 18:47:38

    bonjour a tous, voila j'ai un petit probleme:je vous explique tout cela maintenant.
    J'ai créé un programme qui demande certaine information a l'utilisateur et ensuite il inscrit les information obtenues dans un fichier.txt.
    tout cela fonction, mais seulement pour un seul utilisateur et je voudrais pouvoir entrer plusieur utilisateurs :D. Pour exemple creer un jeu avec plusieur joueurs et garder les information pour faire un classement.
    Voici mon code


    main.c

    #include <stdio.h>
    #include <stdlib.h>
    #include "main.h"

    void nombre_joueur (int NJ)
    {
        printf ("combien de joueur participeront ?\n");
        scanf ("%i"‚ &NJ);
        printf ("il y aura %i joueur(s)\n"‚ NJ);
    }

    int main( )
    {
        FILE* fichier = NULL;

        fichier = fopen ("identite.txt""w");

        if (fichier !=NULL)
        {

        struct joueur utilisateur ;

            printf ("quel est votre prenom ?\n");
            scanf ("%s"‚ utilisateur.prenom);
            printf ("quel est votre nom ?\n");
            scanf ("%s"‚ utilisateur.nom);
            printf ("quel est votre age ?\n");
            scanf ("%i"‚ &utilisateur.age);
            printf ("quel est votre numero de telephone ?\n");
            scanf ("%s"‚ utilisateur.numero_de_tel);
            printf ("quel est votre indicateur numérique (** rue du ***)\n");
            scanf ("%s"‚ utilisateur.indicateur_numerique);
            printf ("quel est votre adresse ?(pour un espace utiliser _ )\n");
            scanf ("%s"‚ utilisateur.adresse);
            printf ("quel est votre ville ?\n");
            scanf ("%s"‚ utilisateur.ville);

       
            fprintf (fichier‚ "prenom : %s\n"‚utilisateur.prenom);
            fprintf (fichier‚ "nom : %s\n"‚ utilisateur.nom);
            fprintf (fichier‚ "age : %i ans\n"‚ utilisateur.age);
            fprintf (fichier‚ "telephone : %s\n"‚ utilisateur.numero_de_tel);
            fprintf (fichier‚ "adresse : %s %s\n"‚ utilisateur.indicateur_numerique‚ utilisateur.adresse);
            fprintf (fichier‚ "ville : %s\n"‚ utilisateur.ville);
            fclose (fichier);

            }
    }


    main.h

    typedef struct joueur joueur;
    struct joueur
    {
        char nom[25];
        char prenom[25];
        char numero_de_tel[25];
        char adresse[100];
        char ville[30];
        char indicateur_numerique[4];
        long age;

    };

    void nombre_joueur (int NJ);



    lorsque je lance le programme il me demande tout de suite les information avant meme de me demander le nombre de joueur.
    merci d'avance de m'aider a regler ce petit probleme.voila g modifier mon code (la presentation) et rajouter mon main.h
    • Partager sur Facebook
    • Partager sur Twitter
      6 mars 2006 à 19:04:44

      j'ai fait un programme similaire une fois
      dabord pense a utiliser la balise code qui est faite pour ca et met nous ton main.h
      dans ce main.h met en haut :
      typedef struct joueur joueur;

      et dans le main.c a la pace de :
      struct joueur utilisateur;

      met plutot :
      joueur utilisateur;

      et là inclu un tableau de joueur :
      joueur utilisateur[3];//3joueurs pour cette exemple


      sinon je te conseil de lire le chapitre du l'allocution dynamique qui te premettera de definir la longueur de ton tableau (nombre de personne) que tu demandera au debut de ton programme
      • Partager sur Facebook
      • Partager sur Twitter
        6 mars 2006 à 19:37:46

        Ta fonction ne sert à rien.
        Nous n'avons pas le headers où est mis ta structure.
        De plus ton topic n'est pas correcte au règle du forum !
        Pense à y jeter un oeil.
        • Partager sur Facebook
        • Partager sur Twitter
          6 mars 2006 à 23:22:41

          En fait, je pense que le programme ne te demande pas le nombre de joueurs parce que tu n'as pas mis ce code :

          void nombre_joueur (int NJ)
          {
              printf ("combien de joueur participeront ?\n");
              scanf ("%i"‚ &NJ);
              printf ("il y aura %i joueur(s)\n"‚ NJ);
          }


          dans ton main.

          En effet, regardes, ta fonction main commence un peut plus bas.
          • Partager sur Facebook
          • Partager sur Twitter
            7 mars 2006 à 8:25:52

            tu crée ta fonction mais tu ne l'appelle pas dasn ton main donc forcement ca ne marche pas
            • Partager sur Facebook
            • Partager sur Twitter
              7 mars 2006 à 18:41:59

              voila j'ai rajouté la fonction dans mon ma fonction main mais il me demande tt de suite le prenom et me demande pas mais le nombre de joueur.
              merci encore pour ceux qui prennent du temps.
              • Partager sur Facebook
              • Partager sur Twitter
                8 mars 2006 à 19:39:03

                bonjour tout le monde

                AU SECOUR SVP
                • Partager sur Facebook
                • Partager sur Twitter
                  8 mars 2006 à 22:23:52

                  je trouve que tu t'embete pour pas grand chose regarde un scripte qui devrait regler tes probleme

                  int main( )
                  {
                  long NJ=0, i=0;

                  FILE* fichier = NULL;

                  fichier = fopen ("identite.txt", "w");

                  printf ("combien de joueur participeront ?\n");
                  scanf ("%i", &NJ);
                  printf ("il y aura %i joueur(s)\n", NJ);

                  if (fichier !=NULL)
                  {
                  for (i=0; i<NJ; i++)
                  {
                  struct joueur utilisateur ;

                  printf ("quel est votre prenom ?\n");
                  scanf ("%s", utilisateur.prenom);
                  printf ("quel est votre nom ?\n");
                  scanf ("%s", utilisateur.nom);
                  printf ("quel est votre age ?\n");
                  scanf ("%i", &utilisateur.age);
                  printf ("quel est votre numero de telephone ?\n");
                  scanf ("%s", utilisateur.numero_de_tel);
                  printf ("quel est votre indicateur numérique (** rue du ***)\n");
                  scanf ("%s", utilisateur.indicateur_numerique);
                  printf ("quel est votre adresse ?(pour un espace utiliser _ )\n");
                  scanf ("%s", utilisateur.adresse);
                  printf ("quel est votre ville ?\n");
                  scanf ("%s", utilisateur.ville);


                  fprintf (fichier, "prenom : %s\n",utilisateur.prenom);
                  fprintf (fichier, "nom : %s\n", utilisateur.nom);
                  fprintf (fichier, "age : %i ans\n", utilisateur.age);
                  fprintf (fichier, "telephone : %s\n", utilisateur.numero_de_tel);
                  fprintf (fichier, "adresse : %s %s\n", utilisateur.indicateur_numerique, utilisateur.adresse);
                  fprintf (fichier, "ville : %s\n", utilisateur.ville);
                  }
                  fclose (fichier);
                  }


                  }
                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 mars 2006 à 22:56:51

                    Salut tout le monde et merci a N@rcotic.
                    Le code fontion et répéte les instructions autant de fois que nombre de joueur.
                    Mais lorsque, je vais voir dans le fichier identite.txt les information qui se trouvent dedans concerne le premier joueur et aucune trace du second.
                    j'aurais voulu savoir la cause de se petit probleme.
                    merci d'avance.!!!!!!!!!
                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 mars 2006 à 17:56:01

                      remplace
                      fichier = fopen ("identite.txt", "w");


                      par

                      fichier = fopen ("identite.txt", "a");
                      • Partager sur Facebook
                      • Partager sur Twitter
                        9 mars 2006 à 19:10:36

                        salut, alors j' y avait penser a chager "w" par "a" mais le probleme et le meme, il note ke les information du premier joueur.
                        I DON'T UNDERSTAND
                        • Partager sur Facebook
                        • Partager sur Twitter
                          9 mars 2006 à 19:14:51

                          tu m'excusera masi je n'ai pas encor commencer a travailler sur les structure je suis donc incapable de t'aider plus que ca pour le moment essay de voir si qq'un d'autre peu enco dsl mais j'ai fait tt ce que je pouvait pour le moment

                          (envoi un mail a m@teo il poura surment te repondre)

                          [edit]

                          bon suite a notre conversation via mail si la solution ne marche toujour pas je te montr ou se situ l'erreru et j'esper que tu sera capable de fair qq'chose

                          fclose (fichier);


                          ici on ferme le fichier main on le l'ouvre pas au debut de la boucle donc tout le reste est ecrit dasn un fihier fermer donc ca ne marche pas il faut ouvrire le fichier dasn la boucle ou ne pas le farmer dans la boucle a toit de voir
                          • Partager sur Facebook
                          • Partager sur Twitter

                          [c] probleme entrée nombre de joueur

                          × 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