Conversion base C++

Le
Skeletyon
Bonjour, je souhaite avoir une fonction générique permettant de
convertir un nombre dans une base (tous les deux choisis par
l'utilisateur) et de convertir ce nombre dans la base.

exemple mon utilisateur saisit 15, dit que c'est du binaire et veux de
l'hexa, le programme me sortira comme résultat F.

Sous cette forme ci-dessus qui fonctionne, ma fonction n'ets pas
générique et je suis obligé de la modifier et copier/coller dans tous
mes cases:
case 1:
i=0; // positionnement dans le tableau de caractères
NOMBR2=NOMBR;
do //Binaire
{
RESULTAT[i] = BINAIRE[NOMBR2 % BASE2];
NOMBR2 = NOMBR2/BASE2; // deux entiers entrainent
une division entière
i++;
}
while (NOMBR2 != 0);
RESULTAT[i]=''; //fin de la chaine de caractère
INVERSE (RESULTAT);

cout << RESULTAT << " en binaire" << endl;


-
Je cherche donc une fonction générique en C++.

Bonne journée à tous!!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Serge Paccalin
Le #20629771
Le Wed, 25 Nov 2009 04:58:57 -0800 (PST), Skeletyon a écrit
(dans  posté dans fr.comp.os.ms-windows.programmation) :

Bonjour, je souhaite avoir une fonction générique permettant de
convertir un nombre dans une base (tous les deux choisis par
l'utilisateur) et de convertir ce nombre dans la base.



Je te suggère deux fonctions, une pour convertir une chaîne en nombre,
une autre en sens inverse. La première est déjà fournie dans la
bibliothèque C, et s'appelle strtol().

exemple mon utilisateur saisit 15, dit que c'est du binaire et veux de
l'hexa, le programme me sortira comme résultat F.



15, ce n'est pas du binaire. Du décimal, plutôt, si l'hexa vaut F.

--
___________
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
Skeletyon
Le #20630051
On 25 nov, 14:58, Serge Paccalin
Le Wed, 25 Nov 2009 04:58:57 -0800 (PST), Skeletyon a écrit
(dans  posté dans fr.comp.os.ms-windows.programmation) :

> Bonjour, je souhaite avoir une fonction générique permettant de
> convertir un nombre dans une base (tous les deux choisis par
> l'utilisateur) et de convertir ce nombre dans la base.

Je te suggère deux fonctions, une pour convertir une chaîne en nombre ,
une autre en sens inverse. La première est déjà fournie dans la
bibliothèque C, et s'appelle strtol().
Je prend note de cela mais ou je peux avoir la description de cette fonct ion, ce qu'elle fait et comment elle s'écrit?




> exemple mon utilisateur saisit 15, dit que c'est du binaire et veux de
> l'hexa, le programme me sortira comme résultat F.

15, ce n'est pas du binaire. Du décimal, plutôt, si l'hexa vaut F.
Autant pour moi je me suis trompé ^^


Merci en tout cas de ta réponse, ça oriente déjà plus mes
recherches!!
--
  ___________  
_/ _ _`_`_`_)  Serge PACCALIN -- sp ad mailclub.net
   _L_)   Il faut donc que les hommes commencent
   -'(__)   par n'être pas fanatiques pour mériter
_/___(_)    la tolérance. -- Voltaire, 1763


Serge Paccalin
Le #20630201
Le Wed, 25 Nov 2009 06:24:50 -0800 (PST), Skeletyon a écrit
(dans  posté dans fr.comp.os.ms-windows.programmation) :

Je te suggère deux fonctions, une pour convertir une chaîne en nombre,
une autre en sens inverse. La première est déjà fournie dans la
bibliothèque C, et s'appelle strtol().
Je prend note de cela mais ou je peux avoir la description de cette


fonction, ce qu'elle fait et comment elle s'écrit?



Ben, Google est ton ami (215 000 pages).

Une remarque de pure forme : le caractère « > » indique une citation.
Quand tu réponds à quelqu'un, arrange-toi pour qu'il n'y en ait pas sur
tes propres lignes. Certains logiciels masquent les citations, et ton
message leur apparaît vide…

exemple mon utilisateur saisit 15, dit que c'est du binaire et veux de
l'hexa, le programme me sortira comme résultat F.



15, ce n'est pas du binaire. Du décimal, plutôt, si l'hexa vaut F.
Autant pour moi je me suis trompé ^^





Un lapsus, ça peut arriver à tout le monde. Je craignais quelque chose
de plus fondamental, et je voulais m'en assurer.

Merci en tout cas de ta réponse, ça oriente déjà plus mes
recherches!!



--





On ne cite pas les signatures.

--
___________
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
Publicité
Poster une réponse
Anonyme