Chiffre au lettre multilangage

Description

un petit programme qui libele un nombre en toute lettres en 5 langues ,pour l'arabe il faut configuer le system avc l'arabe

Source / Exemple :


// la fonction de la langue francaise la suite dans le zip
char *libfr(unsigned long long int n,char *p)
{
char*un[]={"","un","deux","trois","quatre","cinq","six","sept","huit","neuf",
"dix","onze","douze","treize","quatorze","quinze","seize","dix-sept","dix-huit","dix-neuf"},

  • di[]={"","","vingt","trente","quarante","cinquante","soixante","soixante","quatre-vingt","quatre-vingt"},
  • ce[]={"","mille","million","milliard","billion","billiard"};
if(!n)sprintf(p,"zero ");else{int i,t[20],c,d,u,k; for(i=0;n;t[i++]=n%1000,n/=1000); for(--i;i>-1;i--) {if(t[i]){ if(t[i]>1||i!=1){ c=t[i]/100;k=t[i]%100;d=k/10;u=k%10; if(c) sprintf(p+lstrlen(p),"%s%scent%s",(c!=1)?un[c]:"",(c!=1)?" ":"",(u+d)?" ":""); if(d<2) sprintf(p+lstrlen(p),"%s",un[k]); else sprintf(p+lstrlen(p),"%s%s%s",di[d], ((k==70||k==90||u)&&k>19)?(u!=1||d>7)?"-":" et ":"", un[(d==7||d==9)?u+10:u]); } sprintf(p+lstrlen(p),"%s%s%s%s ",(i!=1&&((t[i]>100&&!(t[i]%100))||t[i]%100==80))?"s":"", (t[i]==1==i)?"":" ",ce[i],(i>1&&t[i]>1)?"s":"");}}}
  • p-=32;p[lstrlen(p)-1]=0;return p;}

Conclusion :


on peut ecouter les nombers libellés en francais

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.