begin process at 2013 06 19 02:19:22
  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é :5 930 / 160

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

GESTION DE MEMOIRE AUTOMATIQUE EN C++ par magicsystem
Source avec Zip CHAT EN MODE CONSOLE AVEC API WINDOWS par Pylouq
Source avec une capture TRACE ROUTE AVEC QT par LoVerMaKi
Source avec Zip TABLEAU INTERACTIF ET CONVIVIAL par accessone
Source avec Zip Source avec une capture PROGRAMME DE SAISIE D'UN RUBIK'S CUBE par AffreuxJojp

 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 Algorithme Convertir nombre Entier en nombre Romain [ par Chipinou ] Boujour, Je suis en année préparatoire d'informatique et j'ai besoin d'assistance pour résoudre un problème algorithmique. (je n'ai aucune base de pr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Juin 2013
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Photothèque

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 : 0,811 sec (4)

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