Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tp 1 NombreMystere

Probleme , je comprend pas..

    27 février 2006 à 20:34:11

    Enfaite je ne comprend pas l'erreur apres la compilation de mon code, il me dit :
    "d:\Projet c++\jeux1\Source1.c(9): warning C4244: 'function' : conversion from 'time_t' to 'unsigned int', possible loss of data"

    Il me lance le jeu, mes menu marche, mais au niveau des condition demander ce n'est pas trops ca et la je patoge car je vois pas trop pourquoi...

    Voici mon code que vous pouvez tester :

    "
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    int main( int argc, char** argv )
    {
    long inconnu = 0, choix = 0, joueur = 0, difficulter = 0, fois = 0;
    const long MAX = 10, MIN = 1;
    srand(time(NULL));
    inconnu = (rand() % (MAX - MIN + 1)) + MIN;

    printf("Bienvenue dans le jeu de L'inconnue, le but est de retrouver en moin de temps possible le nombre que va generer votre ordinateur!\n\n");
    printf("\n Menu // V0.1 --- #> Nombre de joueurs :\n");
    printf("\n\t |-----> Tape 1 pour : Un joueur. \n");
    printf("\n\t |-----> Tape 2 pour : Deux joueurs. \n\n");
    printf("\n\t --- #> Niveau de difficulter :\n");
    printf("\n\t |-----> Tape 1 pour : Nombre en 0 et 10. \n");
    printf("\n\t |-----> Tape 10 pour : Nombre en 0 et 100. \n");
    printf("\n\t |-----> Tape 100 pour : Nombre en 0 et 100. \n");
    printf("Choix du nombre de joueur : ");
    scanf("%ld", &joueur);
    printf("Niveau de difficulter : ");
    scanf("%ld", &difficulter);

    if (joueur == 1 && difficulter == 1)
    {
    const long MAX = 10, MIN = 1;
    }
    else if (joueur == 1 && difficulter == 10)
    {
    const long MAX = 100, MIN = 1;
    }
    else if (joueur == 1 && difficulter == 100)
    {
    const long MAX = 1000, MIN = 1;
    }
    else
    {
    printf("mauvais choix\n");
    }
    while (inconnu != choix && joueur == 1 && difficulter == 1 || difficulter == 10 || difficulter == 100)
    {
    fois++;
    printf("Rentre ton nombre : ");
    scanf("%ld", &choix);
    if (inconnu > choix)
    {
    printf("Trop petit !!!");
    }
    else if (inconnu < choix)
    {
    printf("Trop grand !!!");
    }
    else if (inconnu = choix)
    {
    printf("Bien jouer !!!, tu a trouver en %ld coups\n", fois);
    }
    else
    {
    printf("Mauvaise donne, recommence");
    }
    }
    system("PAUSE");
    }
    • Partager sur Facebook
    • Partager sur Twitter
      27 février 2006 à 20:42:16

      Salut :)

      1. Utilises les balises code.
      2. On ne peut pas modifier une constante.
      3. Utilises un switch au lieu de 10 elseif.
      4. La prochaine fois que tu postes du code, indente le (si tu n'as pas de style d'indentation, indente le avec l'application de victor).
      5. system("PAUSE"); n'est pas portable.

      J'édite mon post si je trouve d'autres erreurs.

      Kr00pS
      • Partager sur Facebook
      • Partager sur Twitter
        27 février 2006 à 20:44:16

        Y'en a déjà au moins une :
        else if (inconnu = choix)


        "=", c'est pour donner une valeur, pour comparer il faut mettre "==".
        • Partager sur Facebook
        • Partager sur Twitter

        Tp 1 NombreMystere

        × 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