Partage
  • Partager sur Facebook
  • Partager sur Twitter

une variable non declarée, declarée

c bizar non???

Sujet résolu
    25 février 2006 à 14:30:05

    bonjour, mon probleme est ds le titre voici mon code :



    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    int main ( int argc, char** argv )
    {
    long nbjoueur = 0;//le nombre de joueur
    long niveau = 0;//le niveau de jeu
    long nombre = 0;//nombre du joueur


    printf("\t\t===Jeux plus ou moins===\n\n\n");
    printf("Objectif : Trouver le nombre mystere grace aux indication donnees par l'ordinateur.\n\n");
    printf("***MENU***\n\n");
    printf("Choisissez le nombre de joueurs : \n");
    printf("1.Mode 1 joueur\n");
    printf("2.Mode 2 joueurs\n\n");
    printf("Votre choix : ");
    scanf("%ld", &nbjoueur);

    if (nbjoueur == 1)
       {         printf("\n\nChoisissez maintenant le niveau de difficulte : \n");
                 printf("1.De 1 a 100.\n");
                 printf("2.De 1 a 1000.\n");
                 printf("3.De 1 a 10000.\n");
                 printf("Votre choix : ");
                 scanf("%ld", &niveau);
                 
                 if (niveau == 1)
                 {
                 printf("\n\nJouer avec l'ordinateur !\n");
                 printf("Celui-ci va determiner un nombre mystere entre 1 et 100, a vous de le retrouver !\n");     
                 printf("C'est partit !!\n");
                 
                     long nombremystere = 0, nombre = 0;
                     long MAX = 100, MIN = 1;

                      // Génération du nombre aléatoire

                     srand(time(NULL));
                     nombremystere = (rand() % (MAX - MIN + 1)) + MIN;
                 }
                 else if (niveau == 2)
                 {
                 printf("\n\nJouer avec l'ordinateur !\n");
                 printf("Celui-ci va determiner un nombre mystere entre 1 et 1000, a vous de le retrouver !\n");     
                 printf("C'est partit !!\n");
                 
                     long nombremystere = 0, nombre = 0;
                     long MAX = 1000, MIN = 1;

                      // Génération du nombre aléatoire

                     srand(time(NULL));
                     nombremystere = (rand() % (MAX - MIN + 1)) + MIN;
                 }
                 else
                 {
                 printf("\n\nJouer avec l'ordinateur !\n");
                 printf("Celui-ci va determiner un nombre mystere entre 1 et 10000, a vous de le retrouver !\n");     
                 printf("C'est partit !!\n");
                 
                 long nombremystere = 0, nombre = 0;
                 long MAX = 10000, MIN = 1;

                 // Génération du nombre aléatoire

                 srand(time(NULL));
                 nombremystere = (rand() % (MAX - MIN + 1)) + MIN;
                 }
                 
                 do
                 {
                               printf("Quel est le nombre ? ");
                               scanf("%ld", &nombre);
                               
                               if (nombre > nombremystere)
                               {
                               printf("C'est moins !\n");
                               }
                               else if (nombre < nombremystere)
                               {
                               printf("C'est plus !\n");
                               }
                               else
                               {
                               printf("Bravo !!! vous avez trouvez le nombre mystere !");
                               }
                 }while (nombre != nombremystere);                               
      }   
      else
    {
    printf("je nest rien fait pour jouer a 2 pour linstant !!!");
    }
       
       
    system("PAUSE");   
    return 0
    }             





    merci pour vos reponse
    a bientot ;)
    • Partager sur Facebook
    • Partager sur Twitter
    MediaDnR - Agence Web Grenoble et Paris - www.siteinternetgrenoble.com
      25 février 2006 à 14:31:25

      Le debuggeur te dit que quelle variable n'est pas declarée ?
      • Partager sur Facebook
      • Partager sur Twitter
        25 février 2006 à 14:33:39

        nombre mystere, dsl j'avais oublier de le préciser
        • Partager sur Facebook
        • Partager sur Twitter
        MediaDnR - Agence Web Grenoble et Paris - www.siteinternetgrenoble.com
          25 février 2006 à 14:34:26

          Lol... oubli de question : A quelle ligne ? ^^
          • Partager sur Facebook
          • Partager sur Twitter
            25 février 2006 à 14:35:55

            Il aurait été plus correcte que tu nous donne au moins le nom de la variable en question. La prochaine fois fait un petit effort si tu veux que l'on t'aide ! :)
            Je crois bien que la variable "nombre" est déclarée trois fois, nombremystere, MAX et MIN deux fois chacun. Le problème vient sans aucun doute de là ! Une variable = une définition = une valeur possible à un instant donnée.

            EDIT : tu as défini :

            4 x nombre
            3 x nombremystere
            3 x MIN
            3 x MAX

            Joli score !
            • Partager sur Facebook
            • Partager sur Twitter
            Inkamath on GitHub - Interpréteur d'expressions mathématiques. Reprise du développement en cours.
              25 février 2006 à 14:38:54

              a la ligne 77 !
              • Partager sur Facebook
              • Partager sur Twitter
              MediaDnR - Agence Web Grenoble et Paris - www.siteinternetgrenoble.com
              Anonyme
                25 février 2006 à 14:39:16

                Déclares toutes tes variables au début de main ça sera plus clair. C'est pas très propre de déclarer sa variable en plein milieu. Surtout dans un if ou else car le compilateur ne peut pas être sûr que la variable sera créer à chaque fois et de toute façon elle est détruite en sortant du bloc. Donc, déclares tout au début du main et mets à 0 si besoin dans les if.

                edit : et la prochaine fois dis nous aussi OU est la ligne 77... :-°
                • Partager sur Facebook
                • Partager sur Twitter
                  25 février 2006 à 14:43:09

                  apres avoir eclairci mon code, et organiser un pe tt sa, j'ai réussi
                  je vous remercie !
                  ciao
                  • Partager sur Facebook
                  • Partager sur Twitter
                  MediaDnR - Agence Web Grenoble et Paris - www.siteinternetgrenoble.com

                  une variable non declarée, declarée

                  × 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