Partage
  • Partager sur Facebook
  • Partager sur Twitter

type char ou long

TP "plus ou moins"

Sujet résolu
    24 octobre 2008 à 16:22:57

    Bonjour,
    Dans ce petit programme de "plus ou moins" on déclare 2 variables de type long et 2 constantes de type long.
    Or, ces variables ne dépasseront jamais 100.Donc on pourrait penser que le type char suffirait mais quand je remplace long par char, le nombreMystere vaut toujours 0.
    Est-ce qu'il faut toujours utiliser le type long avec la fonction rand()?
    merci
    Voila le code C:
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main()
    {
    long nombreMystere = 0, nombreEntre = 0;
    const char MAX = 100, MIN = 1;

    // Génération du nombre aléatoire

    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

    /* La boucle du programme. Elle se répète tant que l'utilisateur
    n'a pas trouvé le nombre mystère */

    do
    {
    // On demande le nombre
    printf("Quel est le nombre ? ");
    scanf("%ld", &nombreEntre);

    // On compare le nombre entré avec le nombre mystère

    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);

    return 0;
    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      24 octobre 2008 à 16:25:17

      La vrai question que tu dois te poser, c'est: es ce qu'un char contient un chiffre/nombre.
      • Partager sur Facebook
      • Partager sur Twitter
        24 octobre 2008 à 16:28:09

        nombres de stockables dans char de -127 à 128 non?
        • Partager sur Facebook
        • Partager sur Twitter
          24 octobre 2008 à 16:35:06

          Citation : Serimer Dasa

          nombres de stockables dans char de -127 à 128 non?


          La plage garantie est de -127 à +127.

          @Serimer Dasa : ne poster d'image, mais un copié/collé (texte) de ton code source.

          Le type usuel pour les valeurs numériques est int. Il n'y as aucun intérêt à utiliser char ou short. Ca peut générer du code en plus, ce qui ralenti l'exécution et prend de la place supplémentaire.

          Quand à long avec rand(), c'est inutile, car rand() retourne un int. A moins qu'on cherche un grand nombre résultant de la somme de plusieurs rand() ... (un rand() tout seul ne peut en effet pas retourner plus de RAND_MAX qui est int dont la valeur minimale ganrantie est 0x7FFF (32767)


          • Partager sur Facebook
          • Partager sur Twitter
          Music only !
            24 octobre 2008 à 16:36:25

            ok donc ça devrait fonctionner normalement?

            merci pour ces precisions
            • Partager sur Facebook
            • Partager sur Twitter

            type char ou long

            × 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