Bonjour à tous,
Je me suis trés récemment essayé à la programmation avec ruby en achetant un bouquin dans le genre 'ruby pour les nuls'.
Dans ce livre on me demande de faire un petit programme permettant de convertir un nombre en chiffre romains. j'ai fait quelque chose qui à l'air de fonctionner mais je n'arrive pas à afficher la totalité de la réponse sur une seule ligne:
Voici ce que ça donne:
Ma question est comment assemblé les carractères romains, qui sont définis par des méthodes, sur une seule ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 julien@julien-laptop:~/Programmes Rubby$ ruby chif2* Ce programme vous permet de convertir un nombre en chiffres romains nouvelle version veuillez entrer un nombre entre 1 et 4999 1699 M D C L XL V IV julien@julien-laptop:~/Programmes Rubby$
Je précise encore que je n'ai aucune expérience de programmation, ma question est sans doute trés bête et la question toute simple.
Si quelqu'un pouvais m'éclairer merci
Voici le code du programme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103 puts 'Ce programme vous permet de convertir un nombre en chiffres romains nouvelle version' puts 'veuillez entrer un nombre entre 1 et 4999' nombre = gets.chomp # vérification des mutilples de 1000 x1000 = nombre.to_i / 1000 def aff_1000 nbre_1000 puts 'M' * nbre_1000 end nbrm = x1000.to_i nombre = (nombre.to_i - (1000 * x1000.to_i)) # vérification des mutilples de 500 x500 = nombre.to_i / 500 def aff_500 nbre_500 puts 'D' * nbre_500 end nbrd = x500.to_i nombre = (nombre.to_i - (500 * x500.to_i)) # vérification des mutilples de 100 x100 = nombre.to_i / 100 if x100 == 4 def aff_100 nbre_100 puts 'CD' end nbrc = 1 else def aff_100 nbre_100 puts 'C' * nbre_100 end nbrc = x100.to_i end nombre = (nombre.to_i - (100 * x100.to_i)) # vérification des mutilples de 50 x50 = nombre.to_i / 50 def aff_50 nbre_50 puts 'L' * nbre_50 end nbrl = x50.to_i nombre = (nombre.to_i - (50 * x50.to_i)) # vérification des mutilples de 10 x10 = nombre.to_i / 10 if x10 == 4 def aff_10 nbre_10 puts 'XL' end nbrx = 1 else def aff_10 nbre_10 puts 'X' * nbre_10 end nbrx = x10.to_i end nombre = (nombre.to_i - (10 * x10.to_i)) # vérification des mutilples de 5 x5 = nombre.to_i / 5 def aff_5 nbre_5 puts 'V' * nbre_5 end nbrv = x5.to_i nombre = (nombre.to_i - (5 * x5.to_i)) # vérification des unités restantes x1 = nombre.to_i if x1 == 4 def aff_1 nbre_unite puts 'IV' end nbri = 1 else def aff_1 nbre_unite puts 'I' * nbre_unite end nbri = x1.to_i end # affichage du résultat puts (aff_1000 nbrm).to_s + (aff_500 nbrd).to_s + (aff_100 nbrc).to_s + (aff_50 nbrl).to_s + (aff_10 nbrx).to_s + (aff_5 nbrv).to_s + (aff_1 nbri).to_s
Partager