Se connecter

Informatique

Programmation

Sujet : [Java] Convertir base 2 à base 16 - Fin
1
ScientificBird
Niveau 9
29 octobre 2014 à 12:56:10

Ok ! J'ai finalement terminé ce truc pour l'option ISN qui devait permettre de à un User d'entrer une valeur en base 2 ou en base 16 et d'obtenir cette valeur dans l'autre base !

Voici la chose : http://pastebin.com/RcJiwZQx

(Attention ce programme a été écrit sous Javascool à la base, un genre de Java simplifié utilisé dans les lycées. J'ai fait de mon mieux pour lui redonner le look de Java mais je ne garantis pas qu'il tourne sous Eclipse par exemple. Sous Javascool par contre aucun soucis)

Tout d'abord je le laisse ici pour qu'il soit à disposition des pèlerins du net à la recherche de modèles, d'inspiration, mais aussi pour que vous y jetiez un œil vous qui êtes plus expérimenté que moi.

Si vous voyez une erreur, un cas qui peut tout faire foirer.
J'ai aussi un petit soucis : Lorsque l'utilisateur relance le programme à la fin, la conversion 1 devient défectueuse. Je ne sais pas pourquoi ! On dirait qu'elle garde en mémoire la conversion précédente...je ne vois pas quoi reinitialiser :fier:

Bref je vous laisse regarder, dites moi tout ce que vous avez à dire ensuite :oui:

[DenshaOtoko]
Niveau 12
29 octobre 2014 à 16:00:04

à la conversion de "type 1" tu gardes la même valeur pour i, il faudrait je pense réinitialiser ton i à 0, j'ai pas regardé le reste

FortCommeMeric
Niveau 10
29 octobre 2014 à 18:27:51

Il me semble que pour la conversion de type 1, ton algo sert à passer de la base 2 à la base 10 (et non pas 16) et qu'ensuite tu demande à la fonction printf d'afficher ton entier dans sa représentation hexadécimale, donc c'est la fonction printf qui s'occupe de passer de la base 10 à la base 16.

Pour la conversion 2 : Tu devrais lire le nombre de l'utilisateur sous forme d'un string plûtot que symbole par symbole, c'est plus pratique pour l'utilisateur. Ensuite tu devrais écrire une fonction qui prend un caractère hexadécimal comme argument (chiffres de '0' à '9' ou lettres de 'a' à 'f') et qui retourne la valeur de ce caractère en décimal (un entier entre 0 et 15). Cette fonction te permettra de déterminer si oui ou non un caractère entré par l'utilisateur est dans ton tableau "hexa" sans avoir besoin de parcourir tout le tableau à chaque fois (c'est "lourd").

ScientificBird
Niveau 9
29 octobre 2014 à 19:00:13

Densha : Bien vu ! Merci :)

Fort : Je vais essayer ce que tu as dit pour la conversion 2. Oui je sais que c'est printf qui effectue la conversion, c'est normal, ça fait partit de mon algo ! :)

ScientificBird
Niveau 9
30 octobre 2014 à 14:31:35

Ah et concernant la conversion 1 comment je peux faire en sorte que l'utilisateur ne puisse entrer que du binaire ? :question:

dieuparachute
Niveau 10
31 octobre 2014 à 13:37:56

Tu lis les caractères entrés et si y'en a un différent de 0 ou de 1, tu renvois un message d'erreur

1
Sujet : [Java] Convertir base 2 à base 16 - Fin
   Retour haut de page
Consulter la version web de cette page