Un ptit exercice

[Résolu]
Signaler
Messages postés
9
Date d'inscription
jeudi 19 mai 2005
Statut
Membre
Dernière intervention
7 juin 2005
-
Messages postés
240
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
31 décembre 2006
-
Salut tt le monde je suis un étudiant débutant en c .J'ai un ptit exercice a faire si possible vous pouvez m'aidez avec vos idées .
L'énoncé d'exercice : on veut que le programme faire la conversion d'un chiffre entier en lettres . exemple 123 il s'affichera cent vingt trois .voila merci de m'aidez.

1 réponse

Messages postés
240
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
31 décembre 2006
1
Salut,

Alors tiens j'ai réfléchis 30 sec sur ton prob, cependant c'est qu'une
ébauche ( ya surement moyen de faire mieux ), puis il marche pas
pour tout les chiffres ( ex : 91 = quatre-vingt dix un ), mais bon si
cela peit t'aider



#include stdio.h



int main(void){

string lettre;

int temp;

printf("entrez un chiffre"/n);

scanf("%d", chiffre);

temp chiffre / 100; // int / int int : cela te donne le modulo 100

switch (temp){

case 1 : lettre = lettre + " cent";

break;

case 2 : lettre = lettre + " deux cent(s)"; // (s)->revoir sa gramaire :p

break;

...

case 9 : lettre = lettre + " neuf cent(s);

break;

}

chiffre -= temp*100; // comme ça il te reste que les dizaine

temp chiffre / 10; // int / int int : cela te donne le modulo 10


switch (temp){


case 1 : lettre = lettre + " dix"; //la problème pour 11, 12, ...


break;


case 2 : lettre = lettre + " vingt";


break;


...


case 9 : lettre = lettre + " quatre-vingts dix"; // la problème pour 91, 92 ...


break;


}

...

return 0;

}



Voilà l'algo est simple mais pas terrible, le mieux serait de
faire un arbre où chaque aurait 10 branches, et ainsi on peut
connaitre le chiffre précédent ce qui permet de combler le
problème de cet algo. En effet si tu sais qu'avant tu as dix et
maintenant un ba tu mets onze pas dix un.

Enfin à toi de continuer, on va pas tout te faire non plus lol

allez bon courage



N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!