Partage
  • Partager sur Facebook
  • Partager sur Twitter

Incompréhension de l'erreur

    22 décembre 2005 à 18:41:40


    (...)

    switch (nombreJoueurs)
    {
      case 1:
        const long MAX = 100, MIN = 1;

    (...)


    DevC++ me dit : "syntax error before const"
    Mais je ne comprends pas pourquoi :(
    Si une âme charitable voulait bien éclairer la bougie d'un paubre petit débutant :)
    • Partager sur Facebook
    • Partager sur Twitter
      22 décembre 2005 à 19:03:51

      Donne un peu plus de code !
      Je vois aucune erreur dans la partie donné
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        22 décembre 2005 à 19:03:59

        Il faudrait mieux déclarer cette variable au début de ton programme (dans le main) parce que là elle devrait être initialisée seulement à une certaine condition, hors c'est une const donc elle doit avoir la même valeur partout. Déclares la au début, et dans le switch tu pourras la changer avec = à ce moment là enlève aussi le const, si tu la modifies par la suite.

        Et puis c'est mieux de déclarer toutes ses variables au début d'un fonction (du main quoi).

        ;)
        • Partager sur Facebook
        • Partager sur Twitter
          22 décembre 2005 à 19:12:44


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

          int main(int argc, char *argv[])
          {
            printf("***************** Plus ou Moins *****************");
           
            long nombreJoueurs = 0, nombreMystere = 0, nombreEntre = 0, nombreCoups = 0, continuerPartie=1;
           
            while (continuerPartie)
            {
                // Choix du nombre de joueur(s)
                printf("\n\n === Menu ===");
                printf("\n 1. Un joueur");
                printf("\n 2. Deux joueurs");
                printf("\n Votre choix : ");
                scanf("%ld", &nombreJoueurs);
           
                switch (nombreJoueurs)
                {
                    case 1:
                        const long MAX = 100, MIN = 1;
                        srand(time(NULL));
                        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
               
                        do
                        {
                            nombreCoups++;
                   
                            // Demande du nombre
                            printf("\n\n Quel est le nombre ? ");
                            scanf("%ld", &nombreEntre);
               
                            // Comparaison du nombre entré avec le nombre mystère
                            if (nombreEntre < nombreMystere) // c'est plus !
                                printf(" C'est plus !");
                            else if (nombreEntre > nombreMystere) // c'est moins !
                                printf(" C'est moins !");
                            else
                                printf(" Bravo ! Vous avez trouve le nombre mystere en %ld coup(s) !", nombreCoups);
                        } while (nombreEntre != nombreMystere);
                   
                        // Demande de rejouer
                        printf("\n\n\n Voulez-vous rejouer ?");
                        printf("\n 0. Non");
                        printf("\n 1. Oui");
                        printf("\n ");
                        scanf("%ld", &continuerPartie);
                        break;
                    case 2:
                        // Génération du nombre aléatoire
                        const long MAX = 100, MIN = 1;
                        srand(time(NULL));
                        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
               
                        do
                        {
                            nombreCoups++;
                   
                            // Demande du nombre
                            printf("\n\n Quel est le nombre ? ");
                            scanf("%ld", &nombreEntre);
               
                            // Comparaison du nombre entré avec le nombre mystère
                            if (nombreEntre < nombreMystere)
                                printf(" C'est plus !");
                            else if (nombreEntre > nombreMystere)
                                printf(" C'est moins !");
                            else
                                printf(" Bravo ! Vous avez trouve le nombre mystere en %ld coup(s) !", nombreCoups);
                        } while (nombreEntre != nombreMystere);
                   
                        // Demande de rejouer
                        printf("\n\n\n Voulez-vous rejouer ?");
                        printf("\n 0. Non");
                        printf("\n 1. Oui");
                        printf("\n ");
                        scanf("%ld", &continuerPartie);
                        break;
                    default :
                        printf("\n Vous avez entre un choix incorrect.");
                }
            } 
                 
            printf("\n");
            system("PAUSE");     
            return 0;
          }
          • Partager sur Facebook
          • Partager sur Twitter
            22 décembre 2005 à 19:39:41

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

            int main(int argc, char *argv[])
            {
              printf("***************** Plus ou Moins *****************");
             
              long nombreJoueurs = 0, nombreMystere = 0, nombreEntre = 0, nombreCoups = 0, continuerPartie=1;
             
              while (continuerPartie)
              {
                  // Choix du nombre de joueur(s)
                  printf("\n\n === Menu ===");
                  printf("\n 1. Un joueur");
                  printf("\n 2. Deux joueurs");
                  printf("\n Votre choix : ");
                  scanf("%ld", &nombreJoueurs);
                  const long MAX = 100, MIN = 1;
                  srand(time(NULL));
                  nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
             
                  switch (nombreJoueurs)
                  {
                      case 1:
                          do
                          {
                              nombreCoups++;
                     
                              // Demande du nombre
                              printf("\n\n Quel est le nombre ? ");
                              scanf("%ld", &nombreEntre);
                 
                              // Comparaison du nombre entré avec le nombre mystère
                              if (nombreEntre < nombreMystere) // c'est plus !
                                  printf(" C'est plus !");
                              else if (nombreEntre > nombreMystere) // c'est moins !
                                  printf(" C'est moins !");
                              else
                                  printf(" Bravo ! Vous avez trouve le nombre mystere en %ld coup(s) !", nombreCoups);
                          } while (nombreEntre != nombreMystere);
                          break;
                      case 2:
                          do
                          {
                              nombreCoups++;
                     
                              // Demande du nombre
                              printf("\n\n Quel est le nombre ? ");
                              scanf("%ld", &nombreEntre);
                 
                              // Comparaison du nombre entré avec le nombre mystère
                              if (nombreEntre < nombreMystere)
                                  printf(" C'est plus !");
                              else if (nombreEntre > nombreMystere)
                                  printf(" C'est moins !");
                              else
                                  printf(" Bravo ! Vous avez trouve le nombre mystere en %ld coup(s) !", nombreCoups);
                          } while (nombreEntre != nombreMystere);
                     
                          // Demande de rejouer
                          printf("\n\n\n Voulez-vous rejouer ?");
                          printf("\n 0. Non");
                          printf("\n 1. Oui");
                          printf("\n ");
                          scanf("%ld", &continuerPartie);
                          break;
                      default :
                          printf("\n Vous avez entre un choix incorrect.");
                  }
                  // Demande de rejouer
                  printf("\n\n\n Voulez-vous rejouer ?");
                  printf("\n 0. Non");
                  printf("\n 1. Oui");
                  printf("\n ");
                  scanf("%ld", &continuerPartie);
              }   
              return 0;
            }
            • Partager sur Facebook
            • Partager sur Twitter

            Incompréhension de l'erreur

            × 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