Partage
  • Partager sur Facebook
  • Partager sur Twitter

Besoin d'un regard exterieur

    18 février 2018 à 14:56:02

    Bonjour,

    je me suis mis à suivre les cours en programmation en C. A l'heure actuelle je cherche à améliorer le TP plus ou moins. Alors voilà, le programme fonctionne, tout se passe très bien. Le nombre mystère se génère selon le niveau de difficulté, et le programme se déroule comme prévu. Sauf que ma fonction "jeuSolo" "apparaît" quoiqu'il arrive et lorsqu'on fait le choix du niveau de difficulté, le menu réapparaît et il faut confirmer une deuxième fois son choix... bref, voici le code, ça sera plus simple de tester pour comprendre.

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    
    int jeuSolo()
    {
        int choixSo = 0, nbreMax = 0;
    
                printf ("1**Niveau facile (nombre compris entre 1 et 100)\n");
                printf ("2**Niveau moyen (nombre compris entre 1 et 1000)\n");
                printf ("3**Niveau difficile (nombre compris entre 1 et 10000)\n");
                printf ("4**Retour\n\n");
                scanf ("%d", &choixSo);
    
            switch (choixSo)
            {
            case 1:
                nbreMax = 100;
                break;
            case 2:
                nbreMax = 1000;
                break;
            case 3:
                nbreMax = 10000;
                break;
            case 4:
                printf ("Retour\n");
                break;
            default :
                printf ("COMMANDE INVALIDE\n");
                break;
            }
    
        return nbreMax;
    }
    
    void menuPrincipal()
    {
        int choixPr = 0;
    
    
        while (choixPr < 1 || choixPr > 3)
        {
            printf ("====Plus Ou Moins====");
            printf ("v.0.1\n\n\n\n");
            printf ("1 - Jeu Solo\n");
            printf ("2 - Jeu Multijoueur\n");
            printf ("3 - Quitter\n\n");
            scanf ("%d", &choixPr);
    
            switch (choixPr)
            {
            case 1:
                jeuSolo();
                break;
            case 2:
                printf ("INDISPONIBLE\n");
                break;
            case 3:
                printf ("QUITTER\n");
                break;
            default :
                printf ("!!!COMMANDE INVALIDE!!!\n");
                break;
    
            }
    
        }
    
    
    }
    
    int main(int argc, char *argv[])
    
    {
        menuPrincipal();//Le programme démarre par la fonction menuPrincipal
    
    
        const int MIN = 1;
        int nbreMystere = 0, nbreEntre = 0, nbreMax = jeuSolo();
    
        printf ("Quel est le nombre mystere entre %d et %d\n", MIN, nbreMax);
    
        srand(time(NULL));
        nbreMystere = (rand() % (nbreMax - MIN + 1)) + MIN;
    
        do
        {
            scanf ("%d", &nbreEntre);
            if (nbreEntre < nbreMystere)
                printf ("C'est plus!\n");
            else if (nbreEntre > nbreMystere)
                printf ("C'est moins!\n");
            else
                printf ("Bravo! Vous avez trouve le nombre mystere en ... coups!!\n\n");
        }while (nbreEntre != nbreMystere);
    
    
    
        return 0;
    }
    

    Voilà, si quelqu'un a un conseil à me donner pour corriger le problème.

    Cordialement

    Mikaël

    • Partager sur Facebook
    • Partager sur Twitter
      18 février 2018 à 19:12:39

      Salut,

      La fonction JeuSolo() est appelée... 2 fois !

      • Partager sur Facebook
      • Partager sur Twitter
        19 février 2018 à 9:37:03

        Merci pour la remarque. Je vais corriger ça dans la journée.
        • Partager sur Facebook
        • Partager sur Twitter

        Besoin d'un regard exterieur

        × 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