Vérifier que la CHAINE caracteres entrée est un ENTIER
Crocandrew
Messages postés22Date d'inscriptionmercredi 21 novembre 2007StatutMembreDernière intervention 7 avril 2010
-
27 avril 2009 à 18:25
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 2013
-
28 avril 2009 à 08:47
Bien le bonjour,
J'aurais bsoin d'un petit coup de main, j'aimerais savoir si il existe une fonction ou quoi, qui permettrait de vérifier que l'utilisateur entre bien des entiers positif et non autre choses ( textes,double,nombre négatif etc... )...
J'ai entendu parler de strchr(),isdigit(),sscanf etc...
mais je n'y arrive pas ! J'arrive a dire si c'est un négatif ou un double mais je n'arrive pas à dire si ce n'est pas des lettres qui sont entrées au clavier.
Merci d'avance!!
A voir également:
Vérifier que la CHAINE caracteres entrée est un ENTIER
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 28 avril 2009 à 08:47
Salut
Il faut que tu vérifies que dans ta chaine de caractère il n'y a bien que des chiffres: S'il y a un . ou une , ou un - ou tout autre caractère ce ne sera pas un entier positif.Tu peux donx faire qqchose comme cela:
char MaChaine[20],*P;
int Res;
scanf("%s",MaChaine);
P=MaChaine;
int Ok=true;
while(P!='\0'){
if(*P<'0' || *P>'9') //caractère autre qu'un chiffre
{
Ok=false;
break;
}
P++
}
if(Ok) Res=atoi(MaChaine);
A+
____________________________________________________________________________
Mon site internet :
http://ImAnalyse.free.fr