bonjour
dans un de mes programmes l'utilisateur doit saisir un chiffre. le probleme c'est que si il saisit une lettre je rentre dans une boucle infinie 8O pourtant un char c'est un entier non?
merci :wink:
Version imprimable
bonjour
dans un de mes programmes l'utilisateur doit saisir un chiffre. le probleme c'est que si il saisit une lettre je rentre dans une boucle infinie 8O pourtant un char c'est un entier non?
merci :wink:
c'est la seule possibilité? :?
:lol: Qu'est-ce qui te gène là-dedans ?
http://membres.lycos.fr/bigboomshaka...ar-gif-311.gif Enjoy yourself !
ben quand je voulais controler qu'un caractere etait bien rentré et compris dans une certaine plage de valeur ma methode etait rapide et marchait donc je pensais que ca serai simple pour les chiffres aussi car cette methode je l'avais jamais vu
Tu peux me montrer un peu de code ?
ben si je demandais une lettre compris entre b et d par exemple
Code:
1
2
3
4
5
6 cout<<"entrez votre lettre"<<endl; cin>>lettre; if ((lettre>'d')||(lettre<'b')) cout<<"erreur"; else cout<<"lettre ok"<<endl;
ta méthode est valable pour un caractère parce que les symboles tapés aux clavier peuvent tous être interprétés comme des caractères.
donc tu entres un chiffre, une lettre, un $ ..., ça marchera. et si tu entres plusieurs symboles, alors le prog ne garde que le 1er
par contre si tu veux vérifier que l'utilisateur entre un nombre entier, alors ça ne suffit plus. il te faut tester que la chaine entrée contient effectivement le type voulu.
si on se borne à un chiffre (0-9) on peut effectivement utiliser ta méthode, mais ce n'est pas terrible (pas du C++, peu lisible, sujet aux erreurs).
Code:
1
2
3
4
5
6
7
8 char lettre; cout<<"entrez votre lettre"<<endl; cin>>lettre; if ((lettre>=48)&&(lettre<=57)) cout<<"chiffre ok"; else cout<<"erreur"<<endl; int chiffre = lettre-48; cout << chiffre;
http://membres.lycos.fr/bigboomshaka...ar-gif-311.gif Enjoy yourself !
cela reviendrai a utiliser le code ascii de la lettre saisie si je me trompe pas
exact
ça ressemble plus à du C qu'à du C++.
http://membres.lycos.fr/bigboomshaka...ar-gif-311.gif Enjoy yourself !
merci de ton aide :wink: je vais quand meme lbosser :D la faq