begin process at 2012 05 28 23:14:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

convertir nombres en lettre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

convertir nombres en lettre

samedi 9 janvier 2010 à 23:02:54 | convertir nombres en lettre

sofaranaya

Bonsoir tout le monde!

J'ai grand besoin d'une aide à propos d'un programme en c++. Voilà en ce moment je travaille sur un programme qui doit convertir des nombres en lettre. Les nombres à convertir sont des entiers et c'est de 0 à 10 000. Pour l'instant j'arrive à convertir les nombres jusqu'à 16. Mon soucis c'est que je n'arrive pas à faire correctement le calcul pour les nombre composés comme par exemple 17 sachant que 17 c'est dix(dizaine) sept(unité). Voici le code source qui me permet de convertir de 0 à 16.:

int main ()
{
// actions
t_tab_mot tab_unites = { {"zero"},
{"un"},
{"deux"},
{"trois"},
{"quatre"},
{"cinq"},
{"six"},
{"sept"},
{"huit"},
{"neuf"}
};

t_tab_mot tab_dizaine1 = { {"dix"},
{"onze"},
{"douze"},
{"treize"},
{"quatorze"},
{"quinze"},
{"seize"}
};

t_tab_mot tab_dizaine2 = { {"vingt"},
{"trente"},
{"quarante"},
{"cinquante"},
{"soixante"}
};

t_tab_mot tab_centaines = { {"cent"},
{"cents"}
};

t_tab_mot tab_milliemes = { {"mille"}
};

int nombre;
int indice;
int dizaine_nombre;
int unites_nombre;


do{
cout << "Veuillez entrer un nombre";
cout << endl;
cin >> nombre;
if (nombre >=0 && nombre <=9)
cout <<" Le nombre entré est : " << tab_unites[nombre] << endl;
else

if (nombre >=10 && nombre <=16)
{ indice = nombre - 10;
cout <<" Le nombre entré est : " << tab_dizaine1[indice] << endl;
}


}while (nombre >=0 && nombre <=19);
aprés pour le calcul des dizaine composé comme le "17" j'ai fais les lignes suivantes:
do{
cout << "Veuillez entrer un nombre";
cout << endl;
cin >> nombre;
if (nombre >=17 && nombre <=19)
{ dizaine_nombre = nombre / 10;
unites_nombre = nombre % 10;
cout<<"le nombre entré est : " << tab_dizaine1 [dizaine_nombre - 1];
cout<< tab_unites [unites_nombre];
}
}while (nombre >=17 && nombre <=23);

Je vous remercie de bien vouloir m'aider s'il vous plaît.
samedi 23 janvier 2010 à 13:01:49 | Re : convertir nombres en lettre

memspell

Je crois que tu tiens le bon bout. Ce n'est pas vraiment un problème de C++ plustôt d'algorithmie.

Cela devrais t'aider, maintenant je serais incollable pour remplir mes chèques hehe

Code C/C++ :
#include <string>
using namespace std;

static const char* zero = "zero";
static const char* dizaines[] = { {"NA"}, {"un"}, {"deux"}, {"..."}, {"soixante et onze"}, {"..."}, {"quatre-vingt-dix-neuf"} };
static const char* centaines[] = { {"cents"}, {"cent"} };
static const char* mille = "milles";

string to_string(size_t n)
{
	if( 0 == n )
		return zero;
	string number("");
	if( n >= 1000 )
	{
		if( n >= 2000 )
			number += dizaines[n / 1000] + string(" ");
		number += mille;

		n -= 1000*(n/1000);
		if( 0 == n )
			return number;
		number += " ";
	}
	if( n >= 100 && n < 1000 )
	{
		if( n >= 200 )
			number += dizaines[n / 100] + string(" ") ;
		if( 100 == n )
			number += centaines[0];
		else
			number += centaines[1];

		n -= 100*(n/100);
		if( 0 == n )
			return number;
		number += " ";
	}
	if( n > 0 && n < 100 )
		number += dizaines[n];
	return number;
}


Cette discussion est classée dans : nombre, int, convertir, tab, nombres


Répondre à ce message

Sujets en rapport avec ce message

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 convertir un int en char ??? [ par tintin72 ] Salut,Comment convertir un int en char pour que la valeur numérique du int devienne un nombre écrit ? par ex: pour que : int nombre = 18; donne une fo remplir un nombre dans un tableau [ par alex934 ] Bonjour, j'ai besoin de votre aide :) Voila je souhaite mettre un nombre stocké(int) dans un tableau exemple: int a=132; int tab[3]; je voudrais deplacement avec fleche directionnelle [ par dami13014 ] bonjours tout le monde voila je débute en programmation et j'ai fait un petit sudoku il et pa trés complex mais j'aimerai bien pouvoir me déplacer ave jeux mode console en c [ par fifiprog ] Bonsoir a tous je dois creer un jeux sur un damier 10x10 ou tout d'abord deux joueurs pourrons s'affronter c'est le jeux des loups et agneau le but es anagrammes récursifs [ par sumakotra ] /* Bonjour a tous ... voila j'voulais faire un programme sortant tout les anagrammes d'un mot en permutant les différentes lettres et en affichant a c très grand nombres en c++ [ par pop70 ] Bonjour, j'essaie actuellement de faire un petit programme de cryptage basé sur le principe du RSA, seulement pour cela il faut manipuler des très gra besoin d'aide pour corrigé mon exercice [ par darktn ] Salut Tout le monde , j'ai quelque bug dans ce programme besoin d'aide , Le But De faire une deuxième matrice contient les Caractère qui ce trouve dan projet d'un debutant (classement) [ par emilienheude ] bonjour à tous, je suis debutant dans la programmation en c et mes enseignents on eu la bonne idée de nous faire travailler sur un projet de sondage.


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 : 0,780 sec (3)

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