Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de programme

Sujet résolu
    4 février 2018 à 12:31:45

    Bonjour à tous,j'ai ouvert ce sujet car j'ai écrit un programme "plus ou moins"(on doit trouver le nombre auquel pense l'ordi);mais lorsque je le teste le niveau trois ne marche pas et j'ai essayé et re-essayer mais toujours pas,alors si quelqu'un pourrait m'aider il serait le bienvenue,merci d'avance à toutes les aides à venir.

    #include <stdio.h>
     #include <stdlib.h>
     #include <time.h>
    
    
    void programme()
    {
        int nombreMystere = 0, nombreEntre = 0,compteurDeCoup = 1;
        int MAX = 1000, MIN = 1;
    
    
        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
        printf("Niveau 1=nombre mystere entre 1 et 1000");
        printf("========================================\n");
    
    
        do
        {
    
            printf("Coup %d                  Quel est le nombre ? ",compteurDeCoup);
            scanf("%d", &nombreEntre);
            compteurDeCoup++;
    
    
            if (nombreMystere > nombreEntre)
                printf("C'est plus !\n\n");
            else if (nombreMystere < nombreEntre)
                printf("C'est moins !\n\n");
            else
                printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
        } while (nombreEntre != nombreMystere);
    }
    
    
    
    
    
    int main ( int argc, char** argv )
    {
        int nombreMystere = 0, nombreEntre = 0,compteurDeCoup = 1;
        int oui;
        int MAX = 1000;
        int MIN = 1;
    
        printf("Bienvenue chers client a notre jeu:Juste Prix.\nLe but du jeu est simple il te faudra choisir\nun nombre et trouver le nombre auquel pense l'ordinateur\nBonne chance\n\n");
        printf("=================================================\n\n");
        printf("niveau 1:entre 1 et 1000\n\n\n");
    
        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    
    
    
        do
        {
    
            printf("Coup %d                  Quel est le nombre ? ",compteurDeCoup);
            scanf("%d", &nombreEntre);
            compteurDeCoup++;
    
    
            if (nombreMystere > nombreEntre)
    {
                printf("C'est plus !\n\n");
    }
            else if (nombreMystere < nombreEntre)
    {
                printf("C'est moins !\n\n");
    }
            else
    {
                printf ("Bravo, vous avez trouve le nombre mystere en %d coups!!!\n\n",compteurDeCoup);
    }
        } while (nombreEntre != nombreMystere);
    
       printf("Voulez-vous rejouez ou faire le niveau 2 ?\n\n(1 pour oui,0 pour non et 2 pour niveau 2)\n\n");
       scanf("%d",&oui);
       printf("=============================\n");
    
    
      if(oui == 1)
    {
     programme();
    }
    
      else if(oui == 0)
    {
    printf("Bon alors bonne journee et merci d'avoir joue\n");
    }
    
     else if(oui==2)
    {
     MAX=10000;
     MIN=1;
     int ccoup = 1;
     nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
     printf("==============================\n");
     printf("Niveau 2:entre 1 et 10000\n");
    
     do
    {
     printf("coup %d               Quel est le nombre ? ",ccoup);
     scanf("%d",&nombreEntre);
     printf("\n\n");
     ccoup++;
    
     if (nombreMystere > nombreEntre)
    {
    printf("C'est plus !\n\n");
    }
     else if (nombreMystere < nombreEntre)
    {
     printf("C'est moins !\n\n");
    }
     else
    {
    printf("Bravo c'est le bon nombre,vous avez encore gagne en %d coups\n",ccoup);
    }
     }while (nombreEntre !=nombreMystere);
    
    printf("Voulez-vous jouez au niveau 3 ou arreter ?\n(1 pour niveau 3 et 0 pour arreter )");
    int choix3=0;
    scanf("%d",&choix3);
    
    if(choix3==0)
    {
     printf("Bonne journee et merci d'avoir teste notre jeu\n");
    }
     else if(choix3==1)
     {
       MIN=1;
       MAX=100;
       int coup3=11;
       int nombreEntre=0;
       nombreMystere=(rand () % (MAX - MIN + 1))+ MIN;
       printf("Niveau 3:coup limite\n");
       printf("Le nombre de coup est limite a 10 coups\n et le nombre mystere se trouve entre 1 et 100\n");
       printf("================================\n\n");
    
       do
       {
    
           printf("coup %d                    Quel est le nombre ?",coup3);
           scanf("%d",&nombreEntre);
           coup3--;
    
    
           if(nombreMystere < nombreEntre)
           {
               printf("c'est moins!!!\n");
           }
           else if(nombreMystere > nombreEntre)
           {
               printf("C'est plus!!!\n");
           }
    
           else
           {
               printf("Bravo,vous l'avez trouve!!!\n");
           }
    
    
       }
           while(nombreMystere!=nombreEntre );
    
     }
    
    
    
     }
     else
     {
         printf("Euhhh...erreur de touche je crois,pour la peine au revoir!!!!!\n");
     }
     return 0;
    }



    • Partager sur Facebook
    • Partager sur Twitter
      4 février 2018 à 17:30:27

      Hello,

      Ton code est beaucoup trop compliqué!

      Si j'ai bien compris, tu souhaites proposer à ton 'client' de faire les 3 niveaux, avec possibilité après chaque réussite, soit de recommencer le niveau, soit d'arrêter, soit (sauf au niveau 3) de passer au nveau suivant.

      Si c'est le cas, et comme tu connais les fonctions, ton programme devrait ressembler à ça

      niveau ← 1
      
      faire
      	jouer le niveau (fonction, avec le niveau en paramètre)
      	réponse ← poser la question: quitter, rejouer [ou niveau suivant] (fonction)
      	si réponse=niveau suivant
      		incrémenter le niveau
      tant que réponse<>quitter
      	

      -
      Edité par edgarjacobs 4 février 2018 à 17:46:00

      • Partager sur Facebook
      • Partager sur Twitter

      On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

      Problème de programme

      × 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