deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 2016
-
29 sept. 2005 à 19:00
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 2008
-
1 oct. 2005 à 14:46
Voila j'ai un petit problème je voudrai faire en sorte que lors d'une
insertion de nombre on recommence le code jusqu'à ce que le nombre soit
un nombre (autrement dit une vérification pour ne pas tapez des lettres
ou une lettre).
do
{
fflush(stdin);
printf("test entrer un nombre :);scanf("%d",&number);
}while(isdigit(number)!=0);
En français : jusqu'à ce que number soit un chiffre.
Mais voila cela ne fait aucun effet , et si l'on entre une lettre le
programme continue sont petit bonhomme de chemin. juste pour voir j'ai
changer en ==0 et la il trouve si j'ai introduit une lettre mais si
j'introduit un chiffre pas après , la boucle recommence quand mm
autrement dit pas moyen d'en sortir.
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 29 sept. 2005 à 19:24
Non cela ne marche pas car 1: problème de convertion de *char en int et
si je fait sans pointeur cela passe mais cela fait la mm chose, pas
moyen de sortir de la boucle :/
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 29 sept. 2005 à 19:33
yop cela marche maintenant, enfin preske , pour sortir de la boucle il
faut que j'introduise une valeur supérieur ou égale a 6000 :s comprend
plus rien la.
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 29 sept. 2005 à 19:41
Mais je ne comprend pas pourquoi vous voulez que la fonction recoit un
char alors que ma variable est un entier (que d'ailleur le compilateur
aimera pas car imposible convertir *char en int) :s
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 200815 29 sept. 2005 à 19:45
Ben faut pas que tu fasses un scanf("%d"...) parcque si tu rentre
d'autre données non valide derriere, tu le sauras pas et ca ira remplir
ton buffer clavier.
Alors le mieux, c'est de lire une chaine de caractères jusqu'au caratère de retour à la ligne puis de la parser.
Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 29 sept. 2005 à 19:49
voila j'ai remplacer le %d par %s et deviner quoi!!! ca marche mais pas
ds le bon sans, quand j'entre un nombre il va pas et quand j'entre une
lettre il prend or c'est le contraire que je veu mdr
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 29 sept. 2005 à 20:00
hum je vous fait toute mes excuse les gars, la fonction marche très
bien c'est jusque j'avai mal coder un truc qui d'ailleur ne faisait pas
partie de la fonction. Désoler de vous avoir fait perdre votre temps.
Désoler et merci en tous cas.