Conversion des chiffres en lettres, langage C

triniton Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
 soufiane -
Bonjour, je ne suis encore qu'un débutant dans la programmation en langage C. Mais je voudrais créer un programme permettant de convertir des chiffres entrés par l'utilisateur au clavier en lettres.
Par exemple si j'entre 1 987, le programme affichera sur l'écran "mille neuf cent quatre vingt sept".
A noté que les chiffres à entrer sont compris entre 0 et 9 999.

j'ai déja commencé le programme par l'introduction des chiffres inférieurs à 20 pour éssayer.

#include<stdio.h>
void nb_20(int);
void nb_20(int nb)
{
switch(nb){
case 0:printf("zero");
...
case 19:printf("dix neuf");}}
int main(){
int x;
printf("introduire un chiffre");scanf("%d",&x);
...
Et là je suis bloqué, quand je lance le programme je ne peux entrer que les chiffres mais les résultats ne s'affichent pas. Merci !
A voir également:

3 réponses

loupius
 
C'était bien parti... il ne manque qu'une ligne!
J'ai pas essayé, mais j'aurais écris quelque chose comme cela:
#include<stdio.h>

void nb_20 (int nb)
{
  switch (nb)
  {
    case 0:
      printf("zero");
      break;
    ...
    case 19:
      printf("dix neuf");
      break;
  }
}

int main()
{
  int x;
  printf ("Introduire un chiffre");
  scanf ("%d", &x); 
  nb_20 (x);
  return 0;
}
4
loupius
 
Dépêchons nous avant que l'opprobre nous tombe dessus!
Enfin, quand je dis que j'aurais écrit quelque chose comme ça, il faut se mettre dans le contexte de l'exemple donné car, en fait, j'aurais plutôt utilisé un tableau de chaines de caractères, du style:
char* tab[20] = { "zéro", "un", ..., "dix-neuf" };
0