Programme sur un string difficile à trouver

Fermé
WyneShi Messages postés 5 Date d'inscription dimanche 19 octobre 2014 Statut Membre Dernière intervention 2 novembre 2014 - 19 oct. 2014 à 22:00
 Obli - 23 oct. 2014 à 13:13
Bonjour,

Je débute en programmation C++.
Dans mon code, je détermine A ( avec int A; ) lorsque j'éxécute le programme (en entrant des caractères dans la console ). J'aimerais bien si possible avoir un code (pourquoi pas expliqué ce serait parfait) pour détecter n'importe quel caractère qui ne soit pas un chiffre : Je veux que ce qui se trouve dans A ne soit que des lettres.
(Je ne sais pas si ça complique la truc de déterminer A << en dehors du code >>)

Voilà c'est tout, merci d'avance pour les réponses !

P.S : Dites moi si je suis clair comme ça, je me répète : je débute, donc je connais pas vraiment tout ça, et on met du temps à s'approprier le vocabulaire, et surtout comment on l'utilise.

4 réponses

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
20 oct. 2014 à 11:51
Salut.
Tu n'es absolument pas clair. Tu veux des lettres ou des chiffres ?
Comment saisis tu A ? Met ton bout de code.
0
WyneShi Messages postés 5 Date d'inscription dimanche 19 octobre 2014 Statut Membre Dernière intervention 2 novembre 2014
20 oct. 2014 à 15:37
Aha ok, ça m'aurait étonné qu'on me comprenne.
Le code c'est :
int A;
cout << "Tapez la valeur de A. \n"; cin >> A;

Et j'aimerais bien "détecter" lorsque ce n'est pas un chiffre qui est écrit, lorsque c'est une lettre.
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
20 oct. 2014 à 16:21
Dans ce cas là, la bonne méthode, c'est de commencer par mettre le résultat dans un string, puis de vérifier le contenu de ce qui a été tapé.
std::string B;
std::cin>>B;
if (B.find_first_not_of("0123456789.")!=std::string::npos
    cout<<"erreur de saisi, caractere non numerique\n";
std::sstream b(B);
B>>A;

Solutions alternatives : http://www.cplusplus.com/forum/beginner/62609/
0
WyneShi Messages postés 5 Date d'inscription dimanche 19 octobre 2014 Statut Membre Dernière intervention 2 novembre 2014
20 oct. 2014 à 21:19
Okk merci, ça fait plaisir des gens qui répondent ! Les débutants doivent vous souler un peu non ?
0
Tout le monde a bien débuté un jour :).
0