- #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";
};