Probleme avec la librairie <conio.h> et avec le type "float" en c++
Rigel Io
Messages postés11Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 octobre 2012
-
24 janv. 2004 à 14:15
Rigel Io
Messages postés11Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 octobre 2012
-
26 janv. 2004 à 15:44
Salut, j'aurai besoin de vos conseils éclairé en c++. Je suis débutant et j'apprends encore sur les tutorials possible de trouver sur Internet, je programmes sous windows grâce à DEV C++ v4.0 et mon ordinateur n'est pas très performant (AMD K6, 200Mhz,32Ko RAM). En fait, j'ai deux problèmes. Je vais commencer par le moins grave (du moins à mon avis):
Ce problème concerne la librairie <conio.h>, j'ai voulu tout d'abord me servir de "getch()" mais à chaque fois je compilais le programme, le message suivant apparaissait: "implicit declaration of function `int getchar(...)'". J'ai alors tenté plusieurs manipulation mais sans succès. Ensuite, j'ai eu besoins de nouveau de la librairie <conio.h>, avec la fonction "kbhit()" mais là encore impossible compiler le programme (même message d'erreur). J'en ai donc déduit que le problème venait très certainement du lien vers <conio.h>, je suis donc aller voir si cette librairie existait avec DEV C++ V4.0, ce fichier existe, je ne comprends rien !
Ensuite mon autre problème (qui me semble plus grave) est un problème qui est relatif au type, et plus particulièrement au type "float". Le probleme est le suivant lorsque float prend en compte un nombre, il me sort des nombre avec des exposants négatifs. Ex: si j'écris: "float nombre=1; cout<<nombre;" alors la sortie sera "2.00609e-297" et cela pour n'importe quels valeurs de "nombre".
Je vous remercie par avance de vos réponses pour me délivrer de cette prisons (sans float je ne peux pas faire des programmes avec des retours justes). Merçi;
D1m3x
Messages postés402Date d'inscriptionsamedi 28 décembre 2002StatutMembreDernière intervention21 juillet 20051 25 janv. 2004 à 13:50
pour le float, p-e que tu choisi mal le type de la sortie dans ton printf, tu dois faire comme ça et ça devrait marcher:
float nombre = 1.0f;
printf( "Nombre : %lf\n", nombre );
sinon je ne vois pas ce qu'il y aurait comme problème :)
Pour conio.h je ne comprend pas que tu ne puisse pas utiliser getch() ni kbhit(),en fait la fonction getchar() (que tu as dans l'erreur) est déclarée dans le fichier d'en-tête stdio.h (je crois) et à mon avis il y a un conflit entre les deux fichier d'en-tête, vérifie s'il ce problème s'affiche encore lorsque tu n'inclus plus stdio.h (quand tu n'inclus pas cette lib tu dois utiliser quelque chose d'autre que printf() !!! par ex: cout << de iostream.h mais c'est autre chose..)
Rigel Io
Messages postés11Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 octobre 2012 26 janv. 2004 à 13:50
Enfin, un de mes problemes à été réglé, mais je ne sait toujours pas d'où venait le problème. En fait, je pense que j'ai dû faire une mauvaise manipulation dans le logiciel (dev c++), ce qui aurait entrainé un problème avec le type float puisque j'ai désinstallé le compilateur puis je l'ai réinstaller.... et maintenant, miracle, ça marche !
Par contre l'erreur avec <conio.h> n'est pas réglé :(. En plus, les même erreur sont réaparu avec les fonction "random()" et "randomize".
Pour répondre à D1m3x, je n'utilises pour l'instant que et non pas <stdio> donc l'erreur ne peut pas venir de là. Mais merci quand même d'avoir tenté de regler ce bug.
Je redemande donc encore une fois votre aide a tous pour soigner mon bobo, c'est à dire, <conio.h>.
Merci d'avance,
Rigel-Io
PS: djl je ne comprends pas ton message, il doit manquer un morceau à propos de <conio.h>.
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 26 janv. 2004 à 14:14
la conio(CONsole Input/Output) c'est borland a l'origine, et elle est mal porté sur les autres compilo(mais si tu touche win32 parait qu'elle est facile a redefinir)
sous dev c++ conio.h = pas bon
donc au debut du prog tu remplace
#include <conio.h>
par
#include <conio.c>
#undef getch
> le "#undef getch" permet d'avoir la bonne definition de getch, sinon ca fera comme getchar de la stdio
Vous n’avez pas trouvé la réponse que vous recherchez ?
Rigel Io
Messages postés11Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 octobre 2012 26 janv. 2004 à 15:14
Merçi à djl, qui vient de trouver une partie de ce fabuleux problème, si en effet je remplace conio.h par conio.c ca marche pour getch (sans être obligé pour autant de mettre la ligne #undef, puisque je n'utilise pas encore stdio).
Cependant cette méthode ne résolu pas le probleme avec "kbhit" ou "scrclr" (qui me manque reellement) ou random() et randomize().
Devant cette constatation je me demande s'il n'y aurrait pas d'autre librairie du même type que conio. Et j'aimerais savoir aussi s'il existe une sorte de dico du c++ avec toutes les librairies standards avec toutes les fonctions les concernants.
Merci encore,