Securisation de la saisie des infos.

Signaler
-
Messages postés
31
Date d'inscription
dimanche 30 décembre 2001
Statut
Membre
Dernière intervention
3 septembre 2003
-
Lorsqu'un utilisateur saisie des donnees (un entier par exemple), et que l'on saisie un caractere, le prog ne s'arrete plus, il tourne en boucle sur cette question.

int age;
void main()
{
do
{ printf("Saisissez votre age");
scanf("%d",&age);
system("cls");
}
while((choix>=1) && (choix<=100));
}

Si vous savez comment empecher le bug lorsque l'on tape du texte, répondez moi le plus vite possible.

Merci XaV

1 réponse

Messages postés
31
Date d'inscription
dimanche 30 décembre 2001
Statut
Membre
Dernière intervention
3 septembre 2003

On peut utiliser la focntion isalnum dans ctype.h pour savoir si le caractere rentrer est un nombre ou pas.
Mais cette fonction ne marche pas avec les caracteres speciaux. ex :
#include <ctype.h>
#include <stdlib.h>

int main(void)
{
int age;
char str;
char *i;
do
{
printf("Saisissez votre age : ");
scanf("%s",&str);
}
while(isalnum(str)!=0 || atoi(&str)<0 || atoi(&str)>101);
i = &str;
age = atoi(i);//converti un char en int
printf("Vous venez de rentrer : %d\n", age);
system("pause");
return 0;
}