La fonction Getch()

Résolu/Fermé
Invadoria Messages postés 77 Date d'inscription jeudi 26 janvier 2012 Statut Membre Dernière intervention 14 décembre 2013 - 14 juin 2013 à 21:02
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 14 juin 2013 à 23:13
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
14 juin 2013 à 21:17
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 jeudi 26 janvier 2012 Statut Membre Dernière intervention 14 décembre 2013 4
14 juin 2013 à 21:26
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
14 juin 2013 à 21:45
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 jeudi 26 janvier 2012 Statut Membre Dernière intervention 14 décembre 2013 4
14 juin 2013 à 21:51
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
14 juin 2013 à 21:59
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 jeudi 26 janvier 2012 Statut Membre Dernière intervention 14 décembre 2013 4
14 juin 2013 à 23:04
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
14 juin 2013 à 23:13
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