Comment verifié qu une donne saisi é numeric?

Fermé
yannf - 2 oct. 2003 à 20:57
 jld - 3 oct. 2003 à 01:03
bonjour!
dans le but d un programme en c, j aimerai verifier que l utilisateur a bien saisie une valeur numérique....comment puis je faire ???
merci d avance!!

2 réponses

Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 208
2 oct. 2003 à 23:41
Au hasard de ce qu'on trouve sur la toile, mais c'est plus facile quand on sait à peu près qoui chercher :

"Dans ctype.h, on trouve des fonctions utiles (limitées au caractères) :
int isdigit(int c) rend un entier non nul si c'est un chiffre ('0' à '9'), 0 sinon.
de même : isalpha (A à Z et a à z, mais pas les accents), isalnum (isalpha||isdigit), isascii (0 à 127), iscntrl (0 à 31), islower (minuscule), isupper, isspace (blanc, tab, return...), isxdigit (0 à 9,A à F,a à f)...
int toupper(int c) rend A à Z si c est a à z, rend c sinon. Egalement tolower"

Pour vérifier que la question n'a pas déjà été posée sur le forum, on peut utiliser la fonction de recherche de la rubrique "Effectuer une action", en utilisant, dans la mesure du possible, du français "normal" !!!
1
Ca dépend du language...

En VB par exemple
instr([start, ]string1, string2[, compare])
retroune la position de l'occurence d'une chaîne dans une autre.
donc pour un chiffre:

c'est de l'alphanumérique donc entre guillemets
valeur_a_tester = "9"
pos = instr(0,"0123456789",valeur_a_tester)
if pos > 0 ....
pos est un entier
0 = pas trouvé
>0 = trouvé
0
Salut !

Tu peut tester si le code ascii de chaque caractére saisi est entre le code d'ascii de 0 "ASCII=48 "et 9 "ASCII=57"

Bonne chance
0