Tom's Guide > Forum > Programmation > Faire un programme en c++, nombres entier sà chiffres romains

Faire un programme en c++, nombres entier sà chiffres romains

Forum Programmation : Faire un programme en c++, nombres entier sà chiffres romains

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

jm'e demandais comment serait possible de faire un programme pour faire la convertision d'entiers positif en notation de chiffre romain.
le programme doit disons avoir le chiffre comme entré et afficher le meme nombre en romain.
des tuyaux plz?(:

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

tout d'abord définir l'algo de conversion (que je ne connais pas du tout) et ensuite une décomposition du chiffre arabe, conversion de chaque partie et affichage de la string romaine.

Le problème n'est pas de faire ça en C, en javascript ou en cobol mais bien de trouver comment on effectue la conversion.

------------------------------ Réseau IRC Francophone | g33k-zone
Défiez-moi donc !
Répondre à crazycat@idn

Petit plus: j'ai trouvé sur un site une fonction VB qui le fait:

Code :
  1. Function NbEnRomain(Nb As Integer) As String
  2.   Dim ChiffreRomain As String
  3.   ChiffreRomain = String(Int(Nb / 1000), "M" )
  4.   Nb = Nb - (Int(Nb / 1000) * 1000)
  5.   If Nb >= 900 Then
  6.       ChiffreRomain = ChiffreRomain & "CM"
  7.   ElseIf Nb >= 500 And Nb < 900 Then
  8.       ChiffreRomain = ChiffreRomain & "D" & String(Int((Nb - 500) / 100), "C" )
  9.   ElseIf Nb >= 400 And Nb < 500 Then
  10.       ChiffreRomain = ChiffreRomain & "CD"
  11.   Else
  12.       ChiffreRomain = ChiffreRomain & String(Int(Nb / 100), "C" )
  13.   End If
  14.   Nb = Nb - (Int(Nb / 100) * 100)
  15.   If Nb >= 90 Then
  16.       ChiffreRomain = ChiffreRomain & "XC"
  17.   ElseIf Nb >= 50 And Nb < 90 Then
  18.       ChiffreRomain = ChiffreRomain & "L" & String(Int((Nb - 50) / 10), "X" )
  19.   ElseIf Nb >= 40 And Nb < 50 Then
  20.       ChiffreRomain = ChiffreRomain & "XL"
  21.   Else
  22.       ChiffreRomain = ChiffreRomain & String(Int(Nb / 10), "X" )
  23.   End If
  24.   Nb = Nb - (Int(Nb / 10) * 10)
  25.   If Nb >= 9 Then
  26.       ChiffreRomain = ChiffreRomain & "IX"
  27.   ElseIf Nb >= 5 And Nb < 9 Then
  28.       ChiffreRomain = ChiffreRomain & "V" & String(Int((Nb - 5) / 1), "I" )
  29.   ElseIf Nb >= 4 And Nb < 5 Then
  30.       ChiffreRomain = ChiffreRomain & "IV"
  31.   Else
  32.       ChiffreRomain = ChiffreRomain & String(Int(Nb / 1), "I" )
  33.   End If
  34.   NbEnRomain = ChiffreRomain
  35. End Function

------------------------------ Réseau IRC Francophone | g33k-zone
Défiez-moi donc !
Répondre à crazycat@idn

merci d,avoir trouvé ces lignes, je pourrais m'en servir en partie pour arriver a un programme en c++ pour convertir un chiffre de vvaleur numérique en chiffre romain, si vous avez d'autres choses a rajouter n,hésiter pas=)

merci encore

Répondre à topofthephill

Qu'est-ce qui te pose probème dans ton exercice, l'algorithme ou le C++ ?

Répondre à CRicky

le c++, jen connais si peu, il faut que jy arrive avec lensemble je crois iostream.h ou bien stdio.h

Répondre à topofthephill
Tom's Guide > Forum > Programmation > Faire un programme en c++, nombres entier sà chiffres romains
Aller à :

Il y a 710 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens