Verifier saisie chiffre et opération en C. [Résolu]

dealer2kinder 6 Messages postés vendredi 28 octobre 2005Date d'inscription 21 mai 2006 Dernière intervention - 7 mai 2006 à 20:36 - Dernière réponse : cs_laurent1024 987 Messages postés mardi 31 mai 2005Date d'inscription 30 août 2012 Dernière intervention
- 5 nov. 2008 à 10:57
Salut,

voila je programme en C sous devC++ et j'aimerais savoir quel fonction me permettrait de savoir si l'utilisateur a bien saisie un chiffre entier. (pouvant etre composant de 2 nombre)

C'est dans le but de vérifier l'operation faite par l'utilisateur pour retrouver le conte dans le jeux les chiffres et les lettres.
A propos de cette verification d'operation si vous avez un example sous la main, je vous bennis pour 100 générations. ( si si !)

Dealer2kinder
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_laurent1024 987 Messages postés mardi 31 mai 2005Date d'inscription 30 août 2012 Dernière intervention - 7 mai 2006 à 20:58
3
Merci
http://webloria.loria.fr/~chevalie/STPI/sources/scanf.c.html
++

Merci cs_laurent1024 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 118 internautes ce mois-ci

Commenter la réponse de cs_laurent1024
Meilleure réponse
dealer2kinder 6 Messages postés vendredi 28 octobre 2005Date d'inscription 21 mai 2006 Dernière intervention - 7 mai 2006 à 21:17
3
Merci
Soit béni,

mais pas pour les 100 générations parceque dans ton exemple t'avais oublié de déclarer c. ^^

Nan serieux merci beaucoup, ça marche dessuite, j'ai pigé,

c'est parfait merci encore.

Merci dealer2kinder 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 118 internautes ce mois-ci

Commenter la réponse de dealer2kinder
cs_laurent1024 987 Messages postés mardi 31 mai 2005Date d'inscription 30 août 2012 Dernière intervention - 7 mai 2006 à 21:23
0
Merci
(le code est pas de moi et je l'ai vérifier que rapidement désolé)
bon codage
++;
Commenter la réponse de cs_laurent1024
banniwe 13 Messages postés vendredi 31 octobre 2008Date d'inscription 22 mai 2009 Dernière intervention - 4 nov. 2008 à 17:01
0
Merci
Bonjour ,

Comment faut - il déclarer la varraible c ; j'ai remplacer c par carractere mais il  y a un bug. Quand je rentre une valleur float le programme ne ne me demande pas d'entrer de nouvelle valleur .Savez vous pourquoi et comment resoudre se probleme.

Merci.
Commenter la réponse de banniwe
cs_laurent1024 987 Messages postés mardi 31 mai 2005Date d'inscription 30 août 2012 Dernière intervention - 4 nov. 2008 à 17:17
0
Merci
Le code doit etre le suivant :
dans le cas d'un float, il faut un scan("%f", ... au la place du scan(%d", ...
(le "%d" sert a récupérer un entier (int)).

/****************************************************************/


/*
ou comment utiliser scanf en testant les données lues. Dans
cet exemple, on veut lire un entier positif
*/




#include <stdio.h>







int
main()
{
int n,nb_var;
char caractere;

n=1;
nb_var=1;
do {
nb_var=scanf("%d",&n); /* nb_var vaut 0 si l'utilisateur n'a pas donne un
entier, et 1 si l'utilisateur a donne un entier.
n vaut le nombre donne par l'utilisateur si c'est
un entier (si nb_var==1, donc), et sa valeur n'est
pas changée sinon.
*/
if (!nb_var) {
/*
cas ou la valeur de n n'a pas ete changée :
on lit jusqu'à la fin de la ligne.
*/
do {
scanf("%c",&caractere);
} while (caractere != '\n');
}
/*
on recommence la boucle si aucun entier n'a ete lu, ou si l'entier
lu est plus petit que 0
*/
} while ((nb_var==0)||(n < 0));
return 0;
}
Commenter la réponse de cs_laurent1024
banniwe 13 Messages postés vendredi 31 octobre 2008Date d'inscription 22 mai 2009 Dernière intervention - 4 nov. 2008 à 18:14
0
Merci
excusez moi je me suis mal exprimer moi je voudrais verifier que l'utilisateur a bien saisie un nombre entier

nb_var=scanf("%d",&n); /* nb_var vaut 0 si l'utilisateur n'a pas donne un
entier, et 1 si l'utilisateur a donne un entier.
n vaut le nombre donne par l'utilisateur si c'est
un entier (si nb_var==1, donc), et sa valeur n'est
pas changée sinon.
*/

seulement avec se code quand j'entre un float nb_var est quand meme egal à 1. Une idée pour remedier à se problème ?

Merci.
Commenter la réponse de banniwe
cs_laurent1024 987 Messages postés mardi 31 mai 2005Date d'inscription 30 août 2012 Dernière intervention - 5 nov. 2008 à 10:57
0
Merci
C'est normal.
si tu saisis 15.42, le scanf("%d" ...) va a priori lire et stocker l'entier "15" dans ta variable et le scanf reverra un 1, puisqu'il aura bien rempli 1 entier.
Commenter la réponse de cs_laurent1024

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.