begin process at 2012 05 27 14:58:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > CONVERTISSEUR NOMBRE ARABE => NOMBRE ROMAIN (1 À 4999)

CONVERTISSEUR NOMBRE ARABE => NOMBRE ROMAIN (1 À 4999)


 Information sur la source

Note :
Aucune note
Catégorie :Application Classé sous :convertisseur, conversion, nombre, arabe, romain Niveau :Débutant Date de création :12/12/2009 Vu / téléchargé :4 527 / 153

Auteur : Calli95

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

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

Aucune bibliothèque mathématique utilisée.

Source

  • // 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
  • }
// 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
}


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source avec une capture PROGRAMME DE SUDOKU par AffreuxJojp
Source avec Zip EVALUATEUR D'EXPRESSION ARITHMÉTIQUE par matrx180vTitanium
Source avec Zip Source avec une capture QBIBLIO GESTION DES PRÊTS par conatic
Source avec Zip Source avec une capture QL-CHATROOM V 1.0 par mature
Source avec Zip Source avec une capture GEOLOCALISATION par ganjarasta

 Sources en rapport avec celle ci

CONVERSION DE FICHIER EN FICHIER BMP par seoseo
Source avec Zip Source avec une capture CONVHTML : UN UTILITAIRE DE CONVERSION POUR FICHIERS HTML par pgl10
DATETIMECONVERTER par guill76
Source avec Zip Source avec une capture TROUVER LES NOMBRES PREMIERS INFÉRIEURS À UNE LIMITE DONNÉE par angrevol
Source avec Zip Source avec une capture CONVERTISSEUR NOMBRE ARABE EN NOMBRE ROMAIN par vivi168

Commentaires et avis

Commentaire de nhervagault le 13/12/2009 11:44:14 administrateur CS

Salut,

Tu devrais essayé de factoriser plus ton programme

Comme le systeme est valable pour les dizaines centaines milliers ....

Tu devrais passer par une fonction et tu passe les lettres concernées en paramètres d'une fonction,

genre : traductionRomain(codageUniteSuperieur,codage5,codageUnite)

exemple pour les centaines
traductionRomaine('M','D','C')
pour les dizaines
traductionRomaine('C','L','X')

à toi de coder le corps.

Bon dev
la fonction inverse serait bien aussi.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

conversion double en string [ par bouba ] Bonjour, je réalise une fonction qui doit calculer le nombre de caractères d'un doubleexemple:-7.56 -&gt; 5 caractèreExiste t'il une fonction qui fass convertisseur romain [ par Tavarez59282 ] Bonjour je suis &#233;tudiant en licence informatique premi&#232;re ann&#233;e et on nous a donn&#233; un sujet que je ne comprend pas tr&#232;s bien. Conversion de caracteres en nombre [ par Pspice ] Slt a tous!J'ai une question sur le langage c++,j'ai un tableau qui contient des caracteres : ex : 4,1,2,5,+,1La ds l'ex je voudrai convertir les cara conversion nombre réel [ par bessouma06 ] bonjour à tousje cherche comment convertirun nombre réel  en un chaine de caractére.j'ai trouvé ce code sur ce site mais qui tien compte seulement  de conversion binaire vers float rs-232 [ par zilot2 ] bonjours et pardonnez mon français: j'ai un projet pic16f qui consiste a envoyer un nombre float au port rs-232 puis je l'affiche sur pc.mon probleme Conversion décimale binaire [ par Coincoinisback ] Bonjour, je dois écrire un programme qui affiche la conversion binaire d'un nombre entier (compris entre 0 et 4 294 067 295, codé sur 32 bits) mais l' Programme de conversion d'un caractère arabe en UNICODE. [ par ba7bouhhh ] Bonjour tout le monde, Je cherche a développer un petit programme C qui me permet de retourner le UNICODE d'un caractère arabe passé comme paramètre. Conversion binaire d'un nombre saisi au clavier [ par Debord10 ] Bjr! J'ai un petit souci,je voudrai convertir un nombre en binaire,mais ça marche pas;je sais quoi faire! Voilà ce que j'aifais : #include #include us Problème de code en C [ par Guillaume170194 ] Bonjour à tous Je ne vois pas le problème que peut avoir le code. Je choisi le niveau mais après cela ne correspond pas. Merci de votre aide Voici l


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,279 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales