Voila alors j'ai un devoirs à en programmation en C et quoi que je fasse je bloque:
On souhaite écrire un programme qui convertit un nombre écrit en chiffres arabes saisi
par l’utilisateur en notation romaine et inversement un nombre écrit en chiffres romains
en notation arabe.
Par exemple, si la suite de caractères est 321, la valeur affichée est CCCXXI.
Rappel correspondance:
I=1
V=5
X=10
L=50
C=100
D=500
M=1000
Pour simplifier, on suppose que les chiffres romains sont toujours écrit de la plus grande
valeur à la plus petite, ainsi 4 s’écrira IIII, et non pas IV, 40 s’ écrira XXXX, et non pas XL,et ainsi de suite. Par exemple, on suppose que le nombre 14 s’écrit XIIII, et non pas XIV ; de même, on suppose que le nombre 499 s’ écrit CCCCLXXXXVIIII, et non pas CDXCIX.
1. Il faut d’abord tester si le nombre à convertir est donné exclusivement en chiffres
romains ou arabes. Dans tous les autres cas, la saisie n’est pas valide. Ecrivez un
programme principal qui effectue la saisie et les tests nécessaires.
2. Si l’utilisateur a saisi un nombre en chiffres arabes, nous allons procéder par soustractions successives pour afficher un par un les chiffres en notation romaine. Ecrivez le code qui effectue cet affichage.
3. Si l’utilisateur est en train de saisir un nombre en chiffres romains, nous allons
calculer la valeur correspondante au fur et à mesure en ajoutant la valeur de chaque
chiffre romain saisi.
4. Ajoutez les conversions au programme principal de la question 1 et testez votre
code.
Voila j'aurais besoin de vous pour la question 1: autant les questions 2 et 3 je pense pouvoir les faire tout seul, autant la une je suis dessus depuis une heure et rien à faire je ne trouve pas comment mettre cela dans mon code.
J'ai bien compris que d'un coté les chiffres arabes et seulement les chiffres sont acceptés. de l'autre les chiffres romains et seulement es chiffres romains sont acceptés mais impossible de trouver le moyen de coder cela.
Pouvez vous m'aider ?
En vous remerciant d'avance,
Partager