Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C] TP 1 : probleme .

boucle infinie

    22 décembre 2005 à 14:40:44

    j'ai fait le tp sans probleme , tout etait simple , sauf une chose
    quand on inscrit dans le scanf une valeur qui ne correspond pas à long , la boucle bug et devient infinie
    exemples:
    -e
    - 9x10^999.. ( en gros 9 suivit de pleins de zero , mais j'ai la flemme de les taper et ca fairait un peu flood ^^ )


    d'abord je pensais que c'était mon programme qui bugait mais j'ai regardé le programme de mateos , il bug de la meme manière

    en gros , il faudrait empecher l'utilisateur de mettre des lettres ou un nombre trop long

    une solution ? ^^
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      22 décembre 2005 à 14:44:27

      Pour empecher de mettre des lettres je pense que si tu as un switch tu met un default: apres tes case 1: par exemple.

      Quand au long chiffre si tu met un int (il me semble :euh: )tu pourras mettre des chiffre compris entre -128 et +128 ou 256 je sais plus
      • Partager sur Facebook
      • Partager sur Twitter
        22 décembre 2005 à 14:49:53

        Entre -128 et 127 il s'agit du char, le type int est beaucoup plus grand... De toute façon lorsqu'on met un nombre trop grand, il n'y a pas de bug à proprement parler (comme une boucle infinie), c'est juste que ce nombre sera transformé en reste de sa division euclidienne par la limite du type...
        • Partager sur Facebook
        • Partager sur Twitter
          22 décembre 2005 à 14:53:19

          Citation : Chahine

          Entre -128 et 127 il s'agit du char, le type int est beaucoup plus grand... De toute façon lorsqu'on met un nombre trop grand, il n'y a pas de bug à proprement parler (comme une boucle infinie), c'est juste que ce nombre sera transformé en reste de sa division euclidienne par la limite du type...


          >> nan nan , je dis pas ca dans le vide , telecharge lexemple de matheos et mets un nombre très très grand tu vas voir :p

          idem si vous mettez un nombre à virgule genre 6.8
          • Partager sur Facebook
          • Partager sur Twitter
            22 décembre 2005 à 15:01:13

            Ma remarque était juste instructive, utilise la solution d'Hybrix !
            • Partager sur Facebook
            • Partager sur Twitter
              22 décembre 2005 à 23:02:59

              En effet, tu crois que ça sert à quoi le default du switch? Moi une condition à quasiment toujours des else if, car je garde le else en cas de bug^^!
              • Partager sur Facebook
              • Partager sur Twitter

              [C] TP 1 : probleme .

              × 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