begin process at 2010 02 10 00:09:25
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caractères

 > NOMBRES EN LETTRES

NOMBRES EN LETTRES


 Information sur la source

 Description

Passe les nombres de 1 à 9999 en lettres en respectant toutes les règles de français

Source

  • #include<iostream>
  • using namespace std;
  • void main(void)
  • {
  • int Nb=10000;
  • int Milliers;
  • int Centaines;
  • int Dizaines;
  • int Unites;
  • char NomPart[10][10]={"dix","onze","douze","treize","quatorze","quinze","seize","dix-sept","dix-huit","dix-neuf"};
  • char NomUnite[10][10]={"","un","deux","trois","quatre","cinq","six","sept","huit","neuf"};
  • char NomDizaine[8][17]={"vingt","trente","quarante","cinquante","soixante","soixante-","quatre-vingt","quatre-vingt-"};
  • char NomSpe[3][7]={"cent","-et-un","mille"};
  • while(Nb>9999)
  • {
  • cout<<"quel est le nombre a transcrire en lettres\n";
  • cin>>Nb;
  • if(Nb>9999)
  • cout<<"Le nombre doit etre inferieur a 10000\n";
  • };
  • Milliers=Nb/1000;
  • Nb=Nb%1000;
  • Centaines=Nb/100;
  • Unites=Nb%100;
  • Dizaines=Unites/10;
  • Unites=Unites%10;
  • if(Milliers>1 && Milliers<10)
  • cout<<NomUnite[Milliers]<<" "<<NomSpe[2]<<" ";
  • if(Milliers==1)
  • cout<<NomSpe[2]<<" ";
  • if(Centaines>1)
  • {
  • cout<<NomUnite[Centaines]<<" "<<NomSpe[0]<<" ";
  • if(Unites==0 && Dizaines==0)
  • cout<<"\bs";
  • };
  • if(Centaines==1)
  • cout<<NomSpe[0]<<" ";
  • if(Dizaines>1 && Dizaines!=7 && Dizaines!=9)
  • {
  • cout<<NomDizaine[Dizaines-2];
  • if (Dizaines==8 && Unites==0)
  • cout<<"s";
  • if(Unites>1)
  • {
  • cout<<"-"<<NomUnite[Unites];
  • Unites=0;
  • };
  • if(Unites==1)
  • {
  • Unites=0;
  • cout<<NomSpe[1];
  • };
  • };
  • if(Dizaines==1 || Dizaines==7 || Dizaines==9)
  • {
  • if (Dizaines==7 || Dizaines==9)
  • cout<<NomDizaine[Dizaines-2];
  • if(Dizaines==7 && Unites==1)
  • cout<<"\b"<<NomSpe[1]<<"\b\b";
  • cout<<NomPart[Unites];
  • Unites=0;
  • };
  • if(Dizaines!=0 && Centaines!=0)
  • cout<<" ";
  • cout<<NomUnite[Unites];
  • cout<<"\n";
  • };
#include<iostream>
using namespace std;

void main(void)
{
	int Nb=10000;
	int Milliers;
	int Centaines;
	int Dizaines;
	int Unites;
	char NomPart[10][10]={"dix","onze","douze","treize","quatorze","quinze","seize","dix-sept","dix-huit","dix-neuf"};
	char NomUnite[10][10]={"","un","deux","trois","quatre","cinq","six","sept","huit","neuf"};
	char NomDizaine[8][17]={"vingt","trente","quarante","cinquante","soixante","soixante-","quatre-vingt","quatre-vingt-"};
	char NomSpe[3][7]={"cent","-et-un","mille"};
	while(Nb>9999)
	{
	cout<<"quel est le nombre a transcrire en lettres\n";
	cin>>Nb;
	if(Nb>9999)
		cout<<"Le nombre doit etre inferieur a 10000\n";
	};
	Milliers=Nb/1000;
	  Nb=Nb%1000;
		Centaines=Nb/100;
		Unites=Nb%100;
		Dizaines=Unites/10;
		Unites=Unites%10;
		if(Milliers>1 && Milliers<10)
			cout<<NomUnite[Milliers]<<" "<<NomSpe[2]<<" ";
		if(Milliers==1)
			cout<<NomSpe[2]<<" ";

		if(Centaines>1)
		{
			cout<<NomUnite[Centaines]<<" "<<NomSpe[0]<<" ";
			if(Unites==0 && Dizaines==0)
				cout<<"\bs";
		};
		if(Centaines==1)
			cout<<NomSpe[0]<<" ";
		if(Dizaines>1 && Dizaines!=7 && Dizaines!=9)
		{
			cout<<NomDizaine[Dizaines-2];
			
			if (Dizaines==8 && Unites==0)
				cout<<"s";



			if(Unites>1)
			{
				cout<<"-"<<NomUnite[Unites];
				Unites=0;
			};
			if(Unites==1)
			{
				Unites=0;
				cout<<NomSpe[1];
			};
		};
		if(Dizaines==1 || Dizaines==7 || Dizaines==9)
		{
			if (Dizaines==7 || Dizaines==9)
				cout<<NomDizaine[Dizaines-2];
			if(Dizaines==7 && Unites==1)
				cout<<"\b"<<NomSpe[1]<<"\b\b";
			cout<<NomPart[Unites];
			Unites=0;
		};
		if(Dizaines!=0 && Centaines!=0)
		cout<<" ";
		cout<<NomUnite[Unites];
		cout<<"\n";
};



 Sources du même auteur

CALENDRIER PERPÉTUEL

 Sources de la même categorie

Source avec Zip RECHERCHE D'ANNAGRAMMES par Torin
GESTION DE CHAINE DE CARACTÉRE EN C++ AVEC NSTRING par xmustapha
Source avec Zip COMMENTER CODE C <=> ASM (WIN64) par BruNews
Source avec Zip GSTRING - GESTION DES CHAINES DE CARACTÈRES par Neokript
Source avec Zip ANALYSEUR SYNTAXIQUEV(0.1) par kohan95

 Sources en rapport avec celle ci

Source avec Zip CONVERTISSEUR NOMBRE ARABE => NOMBRE ROMAIN (1 À 4999) par Calli95
[C/C++] DÉTERMINER LES DIVISEURS D'UN NOMBRE AVEC DES INFORM... par soso62fr
Source avec Zip Source .NET (Dotnet) LISTES DES NOMBRES PARFAITS INFERIEURES À N par Trezeguet
Source avec Zip FACTORISATION D'UN NOMBRE EN NOMBRE PREMIER par Tearsofdestiny
Source avec Zip Source avec une capture MANIPULATION DE NOMBRE COMPLEXE par bazdig25

Commentaires et avis

Commentaire de rrk275 le 02/12/2005 23:14:11

juste une question ?
ne pense tu pas que le mettre sous forme de fonction genre (pour que ce
soit reutilisable..)
char *nbenlettres()
{
..
}
en fin bon c'est comme meme bien.

Commentaire de dletozeun le 02/12/2005 23:59:50

genial! Je me souviens d'une source qui fait la meme chose mais qui est nettement plus ambitieuse puisqu'elle allait jusqu'aux milliards! En tout je m'etais bien amusé dessus! Elle faisais des fautes d'othographes enormes et de fois c'etait pas du tout francais! Je testerais une autre fois cette source parce la il est trop tard....

Commentaire de max12 le 04/12/2005 02:18:41 administrateur CS

Ouais si c'est pas sous forme de fonction ça n'a pas grand intérêt (sauf celui éducatif)

A+

Commentaire de blassiou083 le 25/01/2006 23:13:06

Après il est "relativement" facile de le mettre sous forme de fontion void ChiffesEnLettre(int Nb)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

convertir les nombres en lettres [ par djamine ] salut les amisje cherche un code pour convertir les nombres (1 2 3 .....) en lettres ( un, deux , trois....)l'utilisateur donne le nombre et le progra Acces a chaque bit d'un nombre binaire [ par djemmy ] Je dois obtenir, à partir de 4 nombres décimals(compris entre 0 et 15), les 4 nombre en binaire correspondants. De ces nombres binaires je dois en fab nombres aléatoires en c++ [ par johanb ] bonjour a tous, voici mon problême.Dans un programme, je dois générer deux fois un nombre aléatoire entre 0 et n (appelé max dans le programme). Voici Extraire deux nombres d'un nombre [ par cyberlewis ] Slt,Par exemple j'ai le nombre hexa : F5CBComment extraire ce nombre en deux (dans deux variables), ce qui donnerait : "F5" et "CB" svp ?Merci d'avanc Liste de nombres aléatoires [ par byoushin ] Bonjour,je cherche comment générer une liste de nombre aléatoire.J'ai essayé en initialisant dans main srand(GetTickCount()); ou aussi srand(time(NULL générateur de nombre aléatoire [ par sadral ] Je fais des recherches sur les générateurs de nombres pseudo-aléatoires et je cherche de la doc dessus,si il y en a qui ont fais des études dessus, ca calculer la somme des chiffres d'un nombre donné - NTL et nombres ZZ [ par scelw ] Je dois faire un exercice.Sachant que c'est pour travailler avec des très grands nombres (de plusieurs millions de chiffres), il faut utiliser la clas Nombres aléatoires [ par mondrone ] Voila : Avant j'utilisais randomize() pour r&#233;init le g&#233;n&#233;rateur de nombres al&#233;atoires et rand() ou random(x) pour g&#233;n&#233;re Chiffre ou lettre ? [ par ralebole ] Bonjour a tousJe voudrais savoir comment faire pour savoir si c'est un nombre ou une chaine des lettresExemple char petibuf[10];la personne rentre nor RECHERCHE DE SOURCE [ par VRSMK13 ] bonjour a tous voila j'essaye de faire un programe en c sous linux... le principe est le suivant en fonction du nombre des sous reseaux le programme d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,702 sec (3)

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