Empêcher de taper un char...

Signaler
Messages postés
5
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
1 juin 2007
-
Messages postés
56
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
11 juillet 2006
-
bonsoir,

pendant le developpement d'un pathfinding pour mes études, je suis bloqué sur un truc certainement tout bête et qui peut ce retrouvé dans bien d'autre endroits.

je voudrais m'assuré que l'utilisateur ne puisse pas taper un caractère lorsqu'il rentre les coordonnées (int). je n'arrive pas à le gérer car lorsque je test ce que j'ai fais, je mets un caractère quelconque, mais ça beug, car il ne peut rentrer dans le int (normal) mais le prog ne fonctionne plus...

donc si vous avez une idée, ça serait cool en espérant avoir été assez clair pour exposé mon problème.

merci d'avance.

11 réponses

Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Récupère sous forme de char*
Teste chaque caractère et tri ce que tu veux garder.
Après faut convertir

if(!Meilleur("Joky")) return ERREUR;<
Messages postés
5
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
1 juin 2007

je crois que je me suis mal fait comprendre.

je veux juste que le prog puisse dire que le caractère entré n'est pas acceptable, car si sans faire exprès il tape & au lieu de 1, je ne peux pas récupérer un chiffre de &.

c'est plus clair là?

merci pour la réponse très rapide.
Messages postés
58
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
4 février 2012

teste simplement les caractères entrés
Messages postés
15024
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
29 avril 2021
94
en gros,
if ( (c>='0') && (c<='9'))
// c'est un int
else
// erreur de saisie

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
Messages postés
5
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
1 juin 2007

euh, bon, ben je crois que je me suis très mal fait comprendre

en fait, je voyais plutôt un moyen d'empêcher à l'utilisateur de rentrer un char sans faire exprès, serait il possible de bloqué le clavier, et de n'autorisé que les chiffres.

merci
Messages postés
26
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
9 mai 2006

Yopp, non c'est tout simple:

char vCaracterQueJeDoisChopper;

vCaracterQueJeDoisChopper = getch();

if(vCaracterQueJeDoisChopper<"valeur ascii du caractère 0" && vCaracterQueJeDoisChopper>"valeur ascii du caractère 9")
{
printf("Erreur de saisie");
}
else
{
converti ta valeur en int et c'est joué...
.... suite du programme...

ouala, bonne chance!
Messages postés
15024
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
29 avril 2021
94
mmx1> Si c'est un programme console, c'est rappé. Par contre, si c'est un prog avec IHM, tu peux récupérer le fait que l'utilisateur appuie sur une touche...et ne rien faire

gaat> Lis d'un peu plus près ce topic. Tu verras que 2 messages avant le tien, ta solution a déjà été proposée...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
Messages postés
5
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
1 juin 2007

bon, merci à tous
j'ai donc bien compris qu'en mode console, c'est pas possible.

pourriez vous donc m'indiqué quel logiciel utiliser pour réaliser une ihm simpliste, sans frou frou, pas trop difficile à réalisée, mais qui offre une convivialité interessante (en fait, la ihm parfaite quoi)...

merci pour vos réponse pour mon petit problème.
Messages postés
15024
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
29 avril 2021
94
Il n'y a pas d'IHM "parfaite"... Sous Windows, pour une prise en main rapide, je te conseille les MFC. Pour une parfaite maîtrise du code, regarde plutôt l'API Win32

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
Messages postés
56
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
11 juillet 2006

si je me souvient bien c est tout a fait possible que juste les caratere soit iniber mm sur une cosole

un mot de passe nest pas afficher en clair quant on le tape ;)

il suffit d intesepte les touche que lon veux ;)
Messages postés
56
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
11 juillet 2006

je presise quant mm je parle de linux je connais pas trop le fonctinnement sur win