Probleme avec la librairie <conio.h> et avec le type "float" en c++

Signaler
Messages postés
11
Date d'inscription
samedi 17 janvier 2004
Statut
Membre
Dernière intervention
29 octobre 2012
-
Messages postés
11
Date d'inscription
samedi 17 janvier 2004
Statut
Membre
Dernière intervention
29 octobre 2012
-
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;

beige]Rigel-Io/beige

8 réponses

Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
bizar pour ton nombre=1 mais deja fais plutot
float nombre=1.0f;

sinon pour conio sous dev c++,

#include <conio.c>
#undef getch
Messages postés
402
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
21 juillet 2005
1
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..)

Bonne chance

ciao

[DmX]
Messages postés
11
Date d'inscription
samedi 17 janvier 2004
Statut
Membre
Dernière intervention
29 octobre 2012

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>.
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
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
Messages postés
11
Date d'inscription
samedi 17 janvier 2004
Statut
Membre
Dernière intervention
29 octobre 2012

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,

Rigel-Io
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
"dico du c++ avec toutes les librairies standards"

sur cplusplus.com ici par ex
http://www.cplusplus.com/ref/#libs

ou msdn (pour windows mais assez bien fait et doc des bibli standards)

et en passant conio n'est pas une bibli standard

"sans être obligé pour autant de mettre la ligne #undef, puisque je n'utilise pas encore stdio"

oui ca marche mais c'est mal defini car son comportement est similaire a getchar et n'a rien a voir avec le getch de conio

pour random et randomize va voir du cote de la stdlib avec rand et srand

a+
Messages postés
11
Date d'inscription
samedi 17 janvier 2004
Statut
Membre
Dernière intervention
29 octobre 2012

Ok merci,

Rigel-Io
Messages postés
11
Date d'inscription
samedi 17 janvier 2004
Statut
Membre
Dernière intervention
29 octobre 2012

Heu...
En francais, un dico du c++ pour trouver toutes les librairie standard, ça existe ?
Merci de repondre;

Rigel-Io