Convertisseur nombre arabe => nombre romain (1 à 4999)

Description

Convertisseur de nombre arabe en nombre romain (de 1 à 4999).

Aucune bibliothèque mathématique utilisée.

Source / Exemple :


// POUR TOUTE REMARQUE: *********@orange.fr

#include <iostream>
using namespace std;

void main(void)
{
	bool FinProg = false;
	int Nombre;
	int Millier;
	int Centaine;
	int Dizaine;
	int i;
	
	do										// Repeter le programme tant que la saisie est differente de 0
	{
		do									// Repeter la saisie tant qu'elle est incorrecte
		{
			cout << "Veuillez saisir un nombre \205 convertir compris entre 1 et 4999 (0 pour sortir): \n";
			cin >> Nombre;
		}while(!((Nombre <= 4999) && (Nombre >= 0)));

		if (Nombre == 0)					// Si la saisie est 0, on met fin au programme
		{
			FinProg = true;
		}

		else								// Sinon on execute la convertion
		{
			cout << "\n" << Nombre << " => ";

			Millier = Nombre / 1000;		// On decompose le nombre en millier, centaine et dizaine
			Nombre = Nombre % 1000;
			Centaine = Nombre / 100;
			Nombre = Nombre % 100;
			Dizaine = Nombre / 10;
			Nombre = Nombre % 10;

			/********************************************

  • MILLIERS *
                                                                                        • /
for (i = 0 ; i < Millier ; i++) // On affiche les milliers { cout << "M"; } /********************************************
  • CENTAINES *
                                                                                        • /
if (Centaine == 9) // On affiche les centaines { cout << "CM"; Centaine = Centaine - 9; } if ((Centaine >= 5) && (Centaine <= 8)) { cout << "D"; Centaine = Centaine - 5; } if (Centaine == 4) { cout << "CD"; Centaine = Centaine - 4; } if ((Centaine >= 1) && (Centaine <= 3)) { for (i = 0 ; i < Centaine ; i++) { cout << "C"; } } /********************************************
  • DIZAINES *
                                                                                        • /
if (Dizaine == 9) // On affiche les dizaines { cout << "XC"; Dizaine = Dizaine - 9; } if ((Dizaine >= 5) && (Dizaine <= 8)) { cout << "L"; Dizaine = Dizaine - 5; } if (Dizaine == 4) { cout << "XL"; Dizaine = Dizaine - 4; } if ((Dizaine >= 1) && (Dizaine <= 3)) { for (i = 0 ; i < Dizaine ; i++) { cout << "X"; } } /********************************************
  • UNITEES *
                                                                                        • /
if (Nombre == 9) // On affiche les unitées { cout << "IX"; Nombre = Nombre - 9; } if ((Nombre >= 5) && (Nombre <= 8)) { cout << "V"; Nombre = Nombre - 5; } if (Nombre == 4) { cout << "IV"; Nombre = Nombre - 4; } if ((Nombre >= 1) && (Nombre <= 3)) { for (i = 0 ; i < Nombre ; i++) { cout << "I"; } } cout << "\n\n"; } }while(!(FinProg == true)); // Fin du programme si la valeur saisie est 0 }

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.