Verifier saisie chiffre et opération en C.

Résolu
dealer2kinder Messages postés 6 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 21 mai 2006 - 7 mai 2006 à 20:36
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 - 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

7 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
7 mai 2006 à 20:58
3
dealer2kinder Messages postés 6 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 21 mai 2006
7 mai 2006 à 21:17
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.
3
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
7 mai 2006 à 21:23
(le code est pas de moi et je l'ai vérifier que rapidement désolé)
bon codage
++;
0
banniwe Messages postés 13 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 22 mai 2009 2
4 nov. 2008 à 17:01
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
4 nov. 2008 à 17:17
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;
}
0
banniwe Messages postés 13 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 22 mai 2009 2
4 nov. 2008 à 18:14
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.
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
5 nov. 2008 à 10:57
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.
0
Rejoignez-nous