Aller au contenu

[C] Compter le nombre de chiffres saisis?


Jericho

Messages recommandés

Bonjour,

Pour un programme que je crée, je dois saisir le numéro de license d'un membre de karaté. Certaines choses me sont imposées telles que le type de ce numéro de license, il doit être en long integer ; de plus, il doit être composé de 6 chiffres (ex : 127001, 000001, ...).

Je saisis ce nombre à l'aide d'un simple scanf("%ld", &numlicense);

J'aimerais donc vérifier si le nombre saisi est bien composé de 6 chiffres, dans le cas contraire, afficher un message d'erreur.

Je me demandais si c'était possible autrement qu'en saissant d'abord les chiffres un par un avec un getch dans des variables de type char pour ensuite convertir ces chiffres en un numéro de type long int ?

J'ai fait quelques recherches dans Google et je n'ai rien trouvé...

Merci d'avance pour vos réponses!

Lien à poster

Tu fais saisir un petite chaîne de longueur 6 (gets par ex ou scanf("%6s", &sNumLicense) ), tu fais un bref test avec une regexp (ou autre type de comparaison à contruire par toi-même) , tu convertis ta chaîne en long, le tour est joué.

Lien à poster

pour verifier si le nombre fait 6 chiffres, un peu de math s'impose :

avec la formule suivante tu auras le nombre de chiffre

nb_chiffre = ceil(log10((double)uint_lic));

pour cela inclus

remarque: le double n'est là que pour caster (changer le type de la variable) afin d'eviter des warning lors de la compilation et de s'assurer de la conversion.

Lien à poster
×
×
  • Créer...