Empêcher de taper un char...

mmx1 Messages postés 5 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 1 juin 2007 - 23 mars 2006 à 22:52
ben92600 Messages postés 56 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 11 juillet 2006 - 24 mars 2006 à 16:20
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

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
23 mars 2006 à 22:55
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;<
0
mmx1 Messages postés 5 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 1 juin 2007
23 mars 2006 à 23:02
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.
0
nicooooo1 Messages postés 58 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 4 février 2012
23 mars 2006 à 23:49
teste simplement les caractères entrés
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
24 mars 2006 à 09:50
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
0

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

Posez votre question
mmx1 Messages postés 5 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 1 juin 2007
24 mars 2006 à 13:42
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
0
cs_gaat Messages postés 26 Date d'inscription mercredi 15 février 2006 Statut Membre Dernière intervention 9 mai 2006
24 mars 2006 à 13:46
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!
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
24 mars 2006 à 13:59
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
0
mmx1 Messages postés 5 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 1 juin 2007
24 mars 2006 à 15:56
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.
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
24 mars 2006 à 16:00
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
0
ben92600 Messages postés 56 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 11 juillet 2006
24 mars 2006 à 16:19
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 ;)
0
ben92600 Messages postés 56 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 11 juillet 2006
24 mars 2006 à 16:20
je presise quant mm je parle de linux je connais pas trop le fonctinnement sur win
0
Rejoignez-nous