Partage
  • Partager sur Facebook
  • Partager sur Twitter

Plus ou moins, autre partie

Sujet résolu
    17 avril 2022 à 17:08:54

    int main(int argc, char *argv[])
    {
        const int MIN = 1;
        int MAX = 0, nb = 0, nb_Mys = 0, tentative = 0, continuerpartie = 1, mode = 0;
    
        ...
    
        do
        {
            do
            {
            .. code de jeu
            } while(nb != nb_Mys);
    
            printf("Une autre partie ? Oui(1) ou Non(0) ? : ");
            scanf("%d", continuerpartie);
    
        }while(continuerpartie!=0);
    return 0;
    }
    Voici mon code.
    Il s'arrête quelque soit la valeur de continuerpartie.
    Merci par avance.

    -
    Edité par KitaeSEO 17 avril 2022 à 17:09:42

    • Partager sur Facebook
    • Partager sur Twitter
      17 avril 2022 à 17:22:47

      Comment écris-tu tes autres scanf?
      Tu ne mets pas de & avant la variable?
      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

        17 avril 2022 à 17:31:28

        Hello,

        L'éternel problème des débutants. scanf() attend un pointeur sur une variable. Alors, pas besoin de & pour une chaine de caractères

        char str[....];
        scanf("%s",str);

        car str est considéré comme un pointeur, et donc tu passes à scanf() l'adresse de str. Mais pour un type numérique, il faut fournir l'adresse de la variable:

        double d;
        scanf("%lf",&d);

        -
        Edité par edgarjacobs 17 avril 2022 à 17:32:05

        • Partager sur Facebook
        • Partager sur Twitter
          17 avril 2022 à 17:38:21

          Ce qui est surprenant est qu'il dit qu'il s'arrête quelle que soit la valeur de continuerPartie. Est-il capable de jouer une partie?
          Ce genre d'erreur donne généralement un Segmentation fault

          Ce que je veux dire est qu'il a peut-être écrit correctement le scanf pour obtenir le nombre mystère mais pas l'autre.

          -
          Edité par PierrotLeFou 17 avril 2022 à 17:43:21

          • Partager sur Facebook
          • Partager sur Twitter

          Le Tout est souvent plus grand que la somme de ses parties.

            17 avril 2022 à 17:41:39

            C'est un UB. Il n'est donc pas possible de savoir ce qui va se passer.

            @kitaeSEO: voir aussi la faq

            -
            Edité par edgarjacobs 17 avril 2022 à 17:42:20

            • Partager sur Facebook
            • Partager sur Twitter
              17 avril 2022 à 17:46:20

              Pour KitaeSEO, UB veut dire Undefined Behaviour (comportement non défini, donc imprévisible)

              • Partager sur Facebook
              • Partager sur Twitter

              Le Tout est souvent plus grand que la somme de ses parties.

                17 avril 2022 à 19:13:14

                PierrotLeFou a écrit:

                Comment écris-tu tes autres scanf?
                Tu ne mets pas de & avant la variable?


                C'était ça le problème. Je me suis trop habitué à Python :(

                Merci!!

                • Partager sur Facebook
                • Partager sur Twitter
                  17 avril 2022 à 21:02:04

                  KitaeSEO a écrit:

                  C'était ça le problème. Je me suis trop habitué à Python :(

                  Bonjour,

                  Sujet résolu

                  Tu peux passer le sujet à "résolu" (bouton en haut à droite du sujet) et cliquer sur les pouces levés des messages qui t'ont aidé⋅e ;)

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Plus ou moins, autre partie

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  • Editeur
                  • Markdown