CONVERTIR LES CHIFFRES EN LETTRE LIBELLÉ

mickbad Messages postés 71 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 20 avril 2008 - 28 févr. 2006 à 17:17
mickbad Messages postés 71 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 20 avril 2008 - 28 févr. 2006 à 17:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36312-convertir-les-chiffres-en-lettre-libelle

mickbad Messages postés 71 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 20 avril 2008
28 févr. 2006 à 17:17
Salut,

rigolo ça au niveau sortie

$ gcc LIBele.cpp && ./a.exe
Entrez un nombre inferieur a un millions en chiffres
9999999999
quatre milliards deux cent quatre-vingt-quatorze millions neuf cent soixante-sep
t mille deux cent quatre-vingt-quinze

Je sais il fallait écrire un nombre < 1000000 mais tu voies, on ne peut JAMAIS faire confiance à l'utilisateur !!
Mais vu qu'il gère les milliards, pourquoi s'arrêter au million;)

Et puis tu as de la chance justement que ça ne marche pas au delà de 4294977295 (tiens je reconnais cette limite ;) car ton "char c[150]" risquait d'exploser et ton programme avec !!

Pour faire simple : débordement de tampon possible qd on utilise des fonctions type strcpy, strcat ou sprintf sans vérification de la taille !
question sécurité : ce sont des fonctions à proscrire !
utilise de préférence strncpy, strncat ou snprintf où tu pourras spécifier la taille maximal !

enfin ... ça manque de commentaires !

bonne continuation
.Mick.
Rejoignez-nous