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 infiniepourtant un char c'est un entier non?
merci![]()
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 infiniepourtant un char c'est un entier non?
merci![]()
Salut,
Comment déterminer si une chaîne contient une valeur d'un certain type ?
Enjoy yourself !
Qu'est-ce qui te gène là-dedans ?
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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;
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++.
Enjoy yourself !
Enjoy yourself !
Partager