Conversion des chiffres en lettres, langage C

Fermé
triniton Messages postés 2 Date d'inscription mardi 10 février 2009 Statut Membre Dernière intervention 11 février 2009 - 11 févr. 2009 à 10:02
 soufiane - 25 juin 2009 à 14:02
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 !

3 réponses

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
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