Securisation de la saisie des infos.

xabi62 - 16 déc. 2001 à 00:56
fced42 Messages postés 31 Date d'inscription dimanche 30 décembre 2001 Statut Membre Dernière intervention 3 septembre 2003 - 2 janv. 2002 à 11:05
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

fced42 Messages postés 31 Date d'inscription dimanche 30 décembre 2001 Statut Membre Dernière intervention 3 septembre 2003
2 janv. 2002 à 11:05
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;
}
0