Langage c, diferent de chiffre??,

Fermé
yoda - 27 mai 2004 à 21:23
 pom - 28 mai 2004 à 09:17
salut a tous ,voila mon petit probleme


while(a<0)
{
printf("combien de génération voulez engendrer?\n");
scanf("%ld",a);
system("cls");
}
cela permet donc de demander une valeur pour "a" tant que a est inferieur a zero, mais si l'utilisateur tape une lettre ou tout otre chose que un chiffre tt bug
il faut donc rajouter dans while(a<0||a!=?) ou le ? et tout a part les chiffre.c'est a dire qu'il demande la valeur de a tant que a<0 ou que a est different d'un chiffre. commen je fer???,
A voir également:

3 réponses

Bonsoir Yoda, je n'ai jamais fait de C mais je fais un peu de C++ alors je vais te donner un conseil de C++

convertit ce qui est entré en int

exemple : cout<<(int) 'a'<<endl;
te renvoie 97
et cout<<(int) 'z'<<endl;
te renvoie 122 (et 97+25=122)

(int) 'a' veut dire que tu convertis en int le 'a'.
Si tu vais cout<<(int) 2.3<<endl
ca te renvoie 2 (la partie entiere)


Salut
Pom
0
l'idee est bonne mais sa marche pas ,ou du moin j arrive pas

while((int)a<0)
{
printf("combien de génération voulez engendrer?\n");
scanf("%ld",(int)a);
system("cls");
}

et tjr le meme probleme je croi qu il printf non stop
0
marvinrouge
28 mai 2004 à 07:57
Salut essayes ça :

while((int)a<0)
{
char s[1000];
s[0] = '\0';
printf("combien de génération voulez engendrer?\n");
scanf("%s",s);
a = atoi(s);
fflush(stdin);
fflush(stdin);
system("cls");
}
0
greg49 Messages postés 154 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 12 septembre 2007 8
28 mai 2004 à 08:27
salut,

essaie en mettant while((int*)a<0)...
0
Re-salut Yoda,

Une autre solution (que j'avais faite en Turbo Pascal il y a quatre ans) est de vérifier alors avec les caractères ASCII. Vérifie leur numéro. Je n'est jamais eu l'occasion de le faire en c++ mais peut etre que l'idée peut t'aider

Sinon convertit la string en entier (il y a une fonction du genre atoi). J'avais trouvé sur google tous plein de fonction qui font la correspondance entre des nombres et des string. En c++ (je précise car je n'ai jamais fais de C) une string est un pointeur sur un char (char *) et si tu veux l'adresse de la stringe tu fais &string (idem que &string[0]) car une string est vue (en c++ je le reprécise) comme un tableau de char.

Je ne peux te donner que des idées et non une réponse explicite car je n'ai jamais fais de C.

J'espère que je t'ai un peu débloqué...

Pom
0