CONVERSION ENTIER-CHIFFRE ROMAIN; CHIFFRE ROMAIN-ENTIER

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 - 8 juil. 2009 à 18:15
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 10 juil. 2009 à 17:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50275-conversion-entier-chiffre-romain-chiffre-romain-entier

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
10 juil. 2009 à 17:48
Tu peux avoir du beau code, mais y'en aura toujours pour programmer comme des porcs ... Ce qui n'est pas du tout conseillé en C(++) et en ASM.
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
10 juil. 2009 à 11:50
C'est sur, mais j'ai jamais dit que le VB était du beau code...
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
10 juil. 2009 à 11:40
Ouais mais ce n'est pas ce qu'on appelle du beau code !
Par exemple :

Dim x As String : x = "10"
Dim y As Integer : y = 15
MsgBox x+y
'Vive l'embrouille !
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
10 juil. 2009 à 10:03
D'après ce que j'ai compris de la msdn, Str = Str1 + 50; marcherai en VB. En interne, (fonction de la surcharge de +), le 50 sera convertie en char* avec un itoa avant d'être concaténé à Str1.
A+
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
10 juil. 2009 à 09:48
"concaténer des nombres" => pas plutôt "additionner des nombres" ?
Sinon oui t'as bien compris ce que je voulais dire.
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
10 juil. 2009 à 09:40
Merci Adeon, je ne connais rien en VB mais je viens de regarder sur la msdn, le & ne sert qu'à concaténer 2 strings, alors que le + peu concaténer des nombres. Donc effectivement en VB, il aurait mieux fallu le &.
En C++, je ne pense pas que l'opérateur & soit surchargé.
A+
cs_Adeon Messages postés 293 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 10 avril 2015 2
10 juil. 2009 à 09:04
Ce qu'il veut dire c'est que en C++, le + sur les chaine n'est pas autorisé par defaut, alors qu'en VB, si.

en visual basique, pour concatener c'est
NouvelleChaine = Premeier & Deuxième & troisième.....
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
10 juil. 2009 à 08:55
Tout a fait d'accord avec toi Adeon, autant travailler directement avec des char*.

>>Ghuysman, j'ai pas compris ta remarque; En c++ c'est autorisé aussi de faire un '+'. Et c'est quoi le rapport avec le &? Tu l'utilises comment pour concaténer deux chaines?
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
10 juil. 2009 à 08:49
En VB, c'est autorisé de faire + avec une string, mais on préfère utiliser &
cs_Adeon Messages postés 293 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 10 avril 2015 2
10 juil. 2009 à 08:47
haa la surcharge ! j'y avais pas pensé !
Merci
PS : ca me choque quand meme cette utilisation je trouve que c'est une mauvaise habitude à prendre en C++ ( en basic je dirais rien bien sure )
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
10 juil. 2009 à 08:36
>>Adeon
s étant un string et comme le + est surchargé pour la classe String, tu as tout à fait le droit de faire un s=s+"M".
A+
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
10 juil. 2009 à 00:17
@ Adeon : T'es pas le seul à penser ça ...
cs_Adeon Messages postés 293 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 10 avril 2015 2
9 juil. 2009 à 23:56
Mouai... c'est vrais que de nos jours, les chiffres romains sont très utilisés pour le stoquage de données ;-)

Pour rester serieux, ca compile ca ??? :

s=s+"M";

parceque moi perso ca me choque de voir une chaine de caractère dans un calcul.
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
8 juil. 2009 à 18:57
J'espère que des profs de maths ne passent pas par là ...
Un chiffre est un nombre mais pas l'inverse.
Et ça m'étonnerait qu'on ne puisse entrer qu'UN chiffre !
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
8 juil. 2009 à 18:15
Bon alors déjà c'est niveau débutant et sûrement pas expert... les lignes de cout<"..." y a pas besoin de 10 ans d'expérience pour comprendre.
Ensuite ça marche même pas correctement :
4 s'écrit en chiffres romains IV et non IIII,
9 IX et non VIIII,
449 CDXLIX et non CCCCXXXXVIIII,
...
à revoir donc.

bon, point positif, l'interface est OK.
Rejoignez-nous