La fonction Getch()

Résolu
Invadoria Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,


Qui peut m'expliquer qu'elle est l'utilité de cette fonction en des mots simples ?

J'ai vu qu'on la mettait lorsqu'on avait une bouche for


2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

getch() n'est pas une fonction standard. Elle ne peut être utilisée que sur Windows. Mais je te déconseille de l'utiliser. Utilise plutôt getchar() dans la mesure du possible, qui est standard.

Sinon, côté fonctionnel, getch() permet à l'utilisateur d'entrer un caractère sans avoir besoin de valider par la touche entrée. De plus la touche saisie n'apparaît pas à l'écran.

Cdlt,
0
Invadoria Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   4
 
Okay... Mais pour les caractères, on utilise la fonction char... Et on peut alors rentrer une chaine de caractère qu'on analysera avec des nombres pour déterminer un palindrome par exemple...
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
on utilise la fonction char
char n'est pas une fonction.
De quoi parles-tu ? Du type char ? Ou de la fonction getchar() ?

on peut alors rentrer une chaine de caractère
Pas avec getchar(). Il faut utiliser plutôt fgets() / scanf("%s",...).
0
Invadoria Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   4
 
Je te demande, car j'ai vu dans un examens, une question sur la déclaration " char "... Avec un truc du style '" il y a t-il des contrainres à utiliser cette déclaration ". Je crois que c'est 128 maximum qu'on peut rentrer ?
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Pour chaque type, il y a un maximum. Ce n'est pas propre au type char.
Sinon, le char est un byte d'au moins 8 bits. Donc, son maximum dépend de la représentation. Souvent, on parle de 255 (en unsigned). Mais le mieux est de lire la borne max dans limits.h (CHAR_MAX).
Pour la version signed, la valeur max est présente dans SCHAR_MAX.
0
Invadoria Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   4
 
D'accord, en signed c'est 128 un truc comme ça
Pour les int c'est 130 K
Pour les floats c'est un truc en millions...
Et les long floats c'est du genre 3 milliard, c'est énorme... sauf que ça prend plus de place et c'est moins précis...

Sinon, la diffèrence entre les double et les floats, je le vois pas trop, c'est laquelle qui est la moins restrictive ?
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
D'accord, en signed c'est 128 un truc comme ça
127 pour être précis. Mais comme dis plus haut, c'est lorsque le char est stocké sur 8 bits.
Pour les int, c'est 32767 (signed) / 65535 (unsigned), mais ce n'est pas systématiquement vrai. C'est pour ça que je te conseille de te baser plutôt sur les constantes définies dans limits.h

long float ? Ca n'existe pas...

la diffèrence entre les double et les floats, je le vois pas trop, c'est laquelle qui est la moins restrictive ?
La différence ? Beh double est beaucoup plus précis que float. En contrepartie il consomme plus de place en mémoire. Mais sauf en embarqué, il est conseillé de n'utiliser que des doubles (plus efficace, et souvent plus performant).
0