Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Probleme] Plus ou Moins Amélioré

    9 mars 2008 à 17:31:54

    Voila alors, j'apprends le c/c++ grâce aux tutoriels de matéo21.
    Je suis au Tp du "Plus ou Moins".
    Je l'ai amélioré, il le compile, mais il ne veux pas lancer l'application.

    Voila mon code :

    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #include <time.h>
    4. int main(int argc, char *argv[])
    5. {
    6.    //Déclaration des variables principales
    7.    long modeJeu = 0, niveauJeu = 0, nombreCherche = 0, nombreDonne = 0, nombreCoup = 1;
    8.    int varExit = 1;
    9. do
    10.   {
    11.    printf("Mini jeux du (Plus ou Moins) par Seazer.\n\n");
    12.    //Menu de choix
    13.    printf("==== Mode ====\n");
    14.    printf("(Tapez le chiffre qui correspond a votre choix)\n\n");
    15.    printf("1 : Mode 1 joueur\n");
    16.    printf("2 : Mode 2 joueur\n\n");
    17.    printf("Votre choix : ");
    18.     scanf("%ld", &modeJeu);
    19.    printf("\n\n");
    20.    printf("==== Niveau de jeu ====\n");
    21.    printf(")Tapez le chiffre du niveau de votre choix)\n\n");
    22.    printf("Niveau 1 : De 1 a 100\n");
    23.    printf("Niveau 2 : De 1 a 1000\n");
    24.    printf("Niveau 3 : De 1 a 10 000\n\n");
    25.    printf("Votre choix : ");
    26.     scanf("%ld", &niveauJeu);
    27.    printf("\n");
    28.    //Mode Solo Niveau 1
    29.    if (modeJeu == 1 && niveauJeu == 1)
    30.    {
    31.      const long MAX = 100, MIN = 1;
    32.      // Génération du nombre aléatoire
    33.     srand(time(NULL));
    34.     nombreCherche = (rand() % (MAX - MIN + 1)) + MIN;
    35.      do
    36.      { //On demande un nombre
    37.          printf("\nQuel est le nombre : ");
    38.           scanf("%ld", &nombreDonne);
    39.        //On compare les deux chiffres
    40.        if (nombreDonne > nombreCherche)
    41.         {
    42.          printf("\n");
    43.          printf("C est moins !\n");
    44.           nombreCoup++;
    45.         }
    46.        else if (nombreDonne < nombreCherche)
    47.         {
    48.          printf("\n");
    49.          printf("C est plus !\n");
    50.           nombreCoup++;    
    51.         }
    52.        else
    53.         {
    54.          printf("\nBravo le chiffre etait bien %ld et vous l avez trouve en %ld coups.\n\n", nombreCherche, nombreCoup);    
    55.          printf("Voulez vous continuer le jeux ?\n\n");
    56.          printf("1 : Oui\n");
    57.          printf("0 : Non\n");
    58.          printf("Votre choix : ");
    59.           scanf("%ld", &varExit);
    60.         }
    61.        }
    62.      while (nombreDonne != nombreCherche);        
    63.    }
    64.     //Mode Solo Niveau 2
    65.     else if (modeJeu == 1 && niveauJeu == 2)
    66.    {
    67.      const long MAX = 1000, MIN = 1;
    68.      // Génération du nombre aléatoire
    69.     srand(time(NULL));
    70.     nombreCherche = (rand() % (MAX - MIN + 1)) + MIN;
    71.      do
    72.      { //On demande un nombre
    73.        printf("\nQuel est le nombre : ");
    74.         scanf("%ld", &nombreDonne);
    75.        //On compare les deux chiffres
    76.        if (nombreDonne > nombreCherche)
    77.         {
    78.          printf("\n");
    79.          printf("C est moins !\n");
    80.           nombreCoup++;
    81.         }
    82.        else if (nombreDonne < nombreCherche)
    83.         {
    84.          printf("\n");
    85.          printf("C est plus !\n");
    86.           nombreCoup++;    
    87.         }
    88.        else
    89.         {
    90.          printf("\nBravo le chiffre etait bien %ld et vous l avez trouve en %ld coups.\n\n", nombreCherche, nombreCoup);    
    91.          printf("Voulez vous continuer le jeux ?\n\n");
    92.          printf("1 : Oui\n");
    93.          printf("0 : Non\n");
    94.          printf("Votre choix : ");
    95.           scanf("%ld", &varExit);
    96.         }
    97.        }
    98.      while (nombreDonne != nombreCherche);
    99.     }
    100.     //Mode Solo Niveau 3
    101.     else if (modeJeu == 1 && niveauJeu == 3)
    102.    {
    103.      const long MAX = 10000, MIN = 1;
    104.      // Génération du nombre aléatoire
    105.     srand(time(NULL));
    106.     nombreCherche = (rand() % (MAX - MIN + 1)) + MIN;
    107.      do
    108.      { //On demande un nombre
    109.          printf("\nQuel est le nombre : ");
    110.           scanf("%ld", &nombreDonne);
    111.        //On compare les deux chiffres
    112.        if (nombreDonne > nombreCherche)
    113.         {
    114.          printf("\n");
    115.          printf("C est moins !\n");
    116.           nombreCoup++;
    117.         }
    118.        else if (nombreDonne < nombreCherche)
    119.         {
    120.          printf("\n");
    121.          printf("C est plus !\n");
    122.           nombreCoup++;    
    123.         }
    124.        else
    125.         {
    126.          printf("\n");
    127.          printf("Bravo le chiffre etait bien %ld et vous l avez trouve en %ld coups.\n\n", nombreCherche, nombreCoup);    
    128.          printf("Voulez vous continuer le jeux ?\n\n");
    129.          printf("1 : Oui\n");
    130.          printf("0 : Non\n");
    131.          printf("Votre choix : ");
    132.           scanf("%ld", &varExit);
    133.         }
    134.        }
    135.      while (nombreDonne != nombreCherche);
    136.     }
    137.     //Mode Duo Niveau 1
    138.     else if (modeJeu == 2 && niveauJeu == 1)
    139.    {
    140.          //Déclaration des constantes
    141.          const long MAX = 100, MIN = 1;
    142.          //Demande du chiffre caché
    143.          printf("Joueur 1 : Veuillez donner un chiffre en %ld et %ld\n", MIN, MAX);
    144.          printf("Votre choix : ");
    145.           scanf("%ld", &nombreCherche);
    146.          if (nombreCherche < MIN && nombreCherche > MAX)
    147.          {
    148.           printf("\n\n");
    149.           printf("Votre nombre n est pas comprit entre %ld et %ld", MIN, MAX);                
    150.          }
    151.          else if  (nombreCherche >= MIN && nombreCherche <= MAX)
    152.          {
    153.           printf("\n\n");
    154.           printf("==== Joueur 2 ====\n\n");
    155.           prinf("Quel est le nombre : ");
    156.            scanf("%ld", &nombreDonne);
    157.           if (nombreDonne < nombreCherche)
    158.           {
    159.           printf("\n");
    160.           printf("C'est plus !");
    161.            nombreCoup++;
    162.           }
    163.           else if (nombreDonne > nombreCherche)
    164.           {
    165.            printf("\n");
    166.            printf("C est moins !");
    167.             nombreCoup++;  
    168.           }
    169.           else
    170.           {
    171.            printf("\n");
    172.            printf("Bravo le chiffre etait bien %ld et vous l avez trouve en %ld coups.\n\n", nombreCherche, nombreCoup);    
    173.            printf("Voulez vous continuer le jeux ?\n\n");
    174.            printf("1 : Oui\n");
    175.            printf("0 : Non\n");
    176.            printf("Votre choix : ");
    177.             scanf("%ld", &varExit);  
    178.           }
    179.          }
    180.    }
    181.     //Mode Duo Niveau 2
    182.     else if (modeJeu == 2 && niveauJeu == 2)
    183.    {
    184.         //Déclaration des constantes
    185.          const long MAX = 1000, MIN = 1;
    186.          //Demande du chiffre caché
    187.          printf("Joueur 1 : Veuillez donner un chiffre en %ld et %ld\n", MIN, MAX);
    188.          printf("Votre choix : ");
    189.           scanf("%ld", &nombreCherche);
    190.          if (nombreCherche < MIN && nombreCherche > MAX)
    191.          {
    192.           printf("\n\n");
    193.           printf("Votre nombre n est pas comprit entre %ld et %ld", MIN, MAX);                
    194.          }
    195.          else if  (nombreCherche >= MIN && nombreCherche <= MAX)
    196.         {
    197.           printf("\n\n");
    198.           printf("==== Joueur 2 ====\n\n");
    199.           prinf("Quel est le nombre : ");
    200.            scanf("%ld", &nombreDonne);
    201.           if (nombreDonne < nombreCherche)
    202.           {
    203.           printf("\n");
    204.           printf("C'est plus !");
    205.            nombreCoup++;
    206.           }
    207.           else if (nombreDonne > nombreCherche)
    208.           {
    209.            printf("\n");
    210.            printf("C est moins !");
    211.             nombreCoup++;  
    212.           }
    213.           else
    214.           {
    215.            printf("\n");
    216.            printf("Bravo le chiffre etait bien %ld et vous l avez trouve en %ld coups.\n\n", nombreCherche, nombreCoup);    
    217.            printf("Voulez vous continuer le jeux ?\n\n");
    218.            printf("1 : Oui\n");
    219.            printf("0 : Non\n");
    220.            printf("Votre choix : ");
    221.             scanf("%ld", &varExit);  
    222.           }    
    223.          }
    224.         }
    225.     //Mode Duo Niveau 3
    226.     else if (modeJeu == 2 && niveauJeu == 3)
    227.    {
    228.     //Déclaration des constantes
    229.          const long MAX = 10000, MIN = 1;
    230.          //Demande du chiffre caché
    231.          printf("Joueur 1 : Veuillez donner un chiffre en %ld et %ld\n", MIN, MAX);
    232.          printf("Votre choix : ");
    233.           scanf("%ld", &nombreCherche);
    234.          if (nombreCherche < MIN && nombreCherche > MAX)
    235.          {
    236.           printf("\n\n");
    237.           printf("Votre nombre n est pas comprit entre %ld et %ld", MIN, MAX);                
    238.          }
    239.          else if  (nombreCherche >= MIN && nombreCherche <= MAX)
    240.       {
    241.           printf("\n\n");
    242.           printf("==== Joueur 2 ====\n\n");
    243.           prinf("Quel est le nombre : ");
    244.            scanf("%ld", &nombreDonne);
    245.           if (nombreDonne < nombreCherche)
    246.           {
    247.           printf("\n");
    248.           printf("C'est plus !");
    249.            nombreCoup++;
    250.           }
    251.           else if (nombreDonne > nombreCherche)
    252.           {
    253.            printf("\n");
    254.            printf("C est moins !");
    255.             nombreCoup++;  
    256.           }
    257.           else
    258.           {
    259.            printf("\n");
    260.            printf("Bravo le chiffre etait bien %ld et vous l avez trouve en %ld coups.\n\n", nombreCherche, nombreCoup);    
    261.            printf("Voulez vous continuer le jeux ?\n\n");
    262.            printf("1 : Oui\n");
    263.            printf("0 : Non\n");
    264.            printf("Votre choix : ");
    265.             scanf("%ld", &varExit);  
    266.           }      
    267.         }
    268.       }
    269.     }
    270. while (varExit);
    271. return 0;
    272. }


    j'ai hélas cherché, cherché. Le problème doit être tout bête et flagrant,mais je n'arrive pas a le trouver.
    • Partager sur Facebook
    • Partager sur Twitter
      9 mars 2008 à 17:34:42

      Mes ton code entre les balises code s'il te plait. (Et non entre les balises secret)

      j'ai remarqué une erreur en survolant le code, tu changes la valeur des constantes MAX et MIN, mais tu ne peux pas le faire. Déclare Max et Min comme variable au début de ton code source.
      • Partager sur Facebook
      • Partager sur Twitter
      Tu veux m'causer ? Ajoute moi sur skype : Mr_Carotte
        9 mars 2008 à 17:47:14

        chez moi il ne compile pas

        deja, a plusieurs reprises, tu as ecrit prinf au lieu de printf

        de plus, il y a beaucoup de repetitions, essaye de raccourcir ton code ;)

        1. if (nombreCherche < MIN && nombreCherche > MAX)

        ce qui est a l'interieur de cette condition (repeté trois fois) ne sera jamais executé ;)
        • Partager sur Facebook
        • Partager sur Twitter
          9 mars 2008 à 18:26:31

          1. if (nombreCherche < MIN && nombreCherche > MAX)


          Ben je cherche a vérifier si le nombre tapé et bien compris entre MIN et MAX

          Printf : Corrigé
          Constante : Corrigé

          Pour les constantes, je voulais quelles soit déclarées après le choix dans le menu, mais c'est vrai que si le(s) joueur(s) recommence(nt) une partie, les constantes n'auraient pas changées.

          Après pour ma vérification du nombre tapé, si il est bien compris entre MIN et MAX c'est faux, ou il faut éviter de répéter la vérification, car je voulais aussi vérifier le nombre après le choix dans le menu, vu que MAX change selon le choix.
          • Partager sur Facebook
          • Partager sur Twitter

          [Probleme] Plus ou Moins Amélioré

          × 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