Partage
  • Partager sur Facebook
  • Partager sur Twitter

[c] Erreur sous windows

(Pas de debug sous devc++)

Sujet résolu
Anonyme
    21 décembre 2005 à 1:58:00

    Bonjour.
    J'ai un petit probleme avec mon programme, tout semble fonctionner parfaitement sauf une petite partie.
    (j'ai inclue : stdio.h stdlib.h time.h)

    do { // La boucle est pour eviter de devoir utiliser un goto  !
     /* ici tout plein de ligne de code sans probleme) */
     printf(", taper 0 pour quitter, 1 pour recommencer.");
     scanf("%ld", choix);
     if (choix == 1) // Message d'erreur
     {
         vie = 10;
     }
     else if (choix == 0) // message d'erreur aussi ...
     {
         printf("Merci d'avoir jouer, a la prochaine.\n");
         system("PAUSE");
         return 0;
     }
    } while (choix == 1);

    Elle genere une erreur critique, mais je comprend pas pourquoi.
    Merci beaucoup pour votre aide.

    (Au passage pour ceux que ca interesse mon jeu : www.shoods.info/Jeucalc.exe (je peu fournir le code source par mp, j'ai la fleme de l'up sur le ftp :=)
    • Partager sur Facebook
    • Partager sur Twitter
      21 décembre 2005 à 2:52:54

      "scanf" ne prend pas une variable comme deuxième paramètre mais un pointeur vers une variable.

      On n'écrit donc pas "scanf("%ld", choix);" mais " scanf("%ld", &choix);" !

      Le programme écrivait dans une zone de la mémoire appartenant à un autre programme, Windows est donc obligé de le fermer et d'indiquer une erreur.
      • Partager sur Facebook
      • Partager sur Twitter
        21 décembre 2005 à 5:20:52

        arf ton jeu ai mal programer il commense bien mai ensuite c'est du nimprote quoi la dernire opration aitai trouver le nombre 17 enfesen une multiplication c'est imposible de trouver 17 en fesans une multipliquation


        edit:eh pas la pen j'ai pas reflechi asser lonten j'ai pas penser a la table de multipliquation par 1 donc comme je sui fautife je vai fait la coretion
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          21 décembre 2005 à 12:51:43

          Merci AeTuOq28, effectivement j'avais pas fait attention a ca :(

          Oki shinichi.k, je vais tout metre en double (on poura toujours ecrire : 4x4.25 pour trouver 17 ^^) ou alors ecrire une fonction j'hesite ...
          • Partager sur Facebook
          • Partager sur Twitter

          [c] Erreur sous windows

          × 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