France Hardware : Forums de discussion
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
23 266 membres enregistrés - 1 903 570 posts - 98 140 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           Un truc tout con en c++
31 connectés(record : 207 le 05 juin 2007 - 05 h 23)

Vous devez vous connecter pour répondre au topic.
Un truc tout con en c++

Hiryuu
Le feu brule dans ses yeux! L'air souffle dans sa tete...

Messages : 8 889
Inscrit le 09/06/02
Ville : Echirolles
Non connecté
  Posté le 26 septembre 2002 - 09 h 51 m 23 s
Quel test permet de savoir si le nombre retire est un float???



Macho Macho man, I've got to be a macho man... :lol:

Sad but true!

Je la ferme tout pendant que vous appuyez sur alt+F4 !


tempo
Zen

Messages : 2 177
Inscrit le 14/09/02
Ville : Grenoble (SMH)
Non connecté
  Posté le 26 septembre 2002 - 13 h 08 m 02 s

Le 26/09/2002 à 09h51 , Hiryuu a écrit:
Quel test permet de savoir si le nombre retire est un float???

Ca manque un peu de clarte...
Regarde la doc sur les "cast".





TorTue
"Je sais que je ne sais rien."

Messages : 2 137
Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
  Posté le 26 septembre 2002 - 19 h 30 m 13 s
:hello: Hiryuu

Eclairci ton explication stp.



http://www.les5elements.com/

kloporte
(¯`·.__[T3aM.BouL3T©]__.·´¯) Klostrophobe.

Messages : 4 265
Inscrit le 22/05/02
Ville : Grenoble
Non connecté
  Posté le 26 septembre 2002 - 19 h 34 m 58 s
Il veut savoir si la valeur qui est retournée est un float.
y'a pas une fct typeof ???



Quand une pierre tombe sur un oeuf, malheur à l\'oeuf.
Quand un oeuf tombe sur une pierre, malheur à l\'oeuf.


TorTue
"Je sais que je ne sais rien."

Messages : 2 137
Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
  Posté le 26 septembre 2002 - 19 h 38 m 57 s

Le 26/09/2002 à 19h34 , ced38 a écrit:
Il veut savoir si la valeur qui est retournée est un float.
y'a pas une fct typeof ???



Je crois que tu confonds avec la fonction sizeof();
qui s'écrit sizeof(le type);

cette fonction renvoie le nombre d'octet que le type mis entre parenthèse prend dans la mémoire.
Par exemple,

int a;
a=sizeof(int);

Ici, a vaut 4 car un int prend 4 octets dans la mémoire.



http://www.les5elements.com/

TorTue
"Je sais que je ne sais rien."

Messages : 2 137
Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
  Posté le 26 septembre 2002 - 19 h 40 m 40 s

Le 26/09/2002 à 09h51 , Hiryuu a écrit:
Quel test permet de savoir si le nombre retire est un float???


Ton float est-t-il dans un type float, ou dans un char* ou dans une CString que tu veux convertir ?



http://www.les5elements.com/

kloporte
(¯`·.__[T3aM.BouL3T©]__.·´¯) Klostrophobe.

Messages : 4 265
Inscrit le 22/05/02
Ville : Grenoble
Non connecté
  Posté le 26 septembre 2002 - 20 h 55 m 06 s
tortue> merci, mais je savais ça...
Non, en fait, je crois pas que hiryuu veulent convertir le résultat en float mais seulement savoir si c'en est un.



Quand une pierre tombe sur un oeuf, malheur à l\'oeuf.
Quand un oeuf tombe sur une pierre, malheur à l\'oeuf.


TorTue
"Je sais que je ne sais rien."

Messages : 2 137
Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
  Posté le 27 septembre 2002 - 19 h 28 m 29 s

Le 26/09/2002 à 20h55 , ced38 a écrit:
tortue> merci, mais je savais ça...

De rien.

Oui mais si son float est dans un char, un char* ou une CString il n'a qu'a balayé son char, char* ou CString et faire un test si il trouve un '.' ou pas !




http://www.les5elements.com/

tempo
Zen

Messages : 2 177
Inscrit le 14/09/02
Ville : Grenoble (SMH)
Non connecté
  Posté le 28 septembre 2002 - 12 h 47 m 43 s

Le 26/09/2002 à 20h55 , ced38 a écrit:
tortue> merci, mais je savais ça...
Non, en fait, je crois pas que hiryuu veulent convertir le résultat en float mais seulement savoir si c'en est un.



Si c'est ca, et comme la question manque vraiement de precision:
- => utilisation du cast pour passer entier => float et comparer les floats
- => utilisation de floorf qui retourne(en float) la partie entiere d'un float
(attention effet de bord si nombre negatif...)


la demo:

#include <math.h>
#include <stdlib.h>
#include <stdio.h>

int main (int arc, char** argv)
{
float f1=4.5;
float f2=4.0;
float f3=5.2;
float f4=5.0;
float fx;
int i=4;

// le cast: la valeur numerique de i passe en float,
// on peut ensuite comparer les floats !!!
fx=(float)i;

printf("f1 %f ",f1);
if(fx==f1){
printf("est egal");
}
else{
printf("est pas egal");
}
printf(" a l'entier i %in",i);

printf("f2 %f ",f2);
if(fx==f1){
printf("est egal");
}
else{
printf("est pas egal");
}
printf(" a l'entier i %in",i);

// le floor => on peut ensuite comparer le float
// avec le float de sa partie entiere
fx=floorf(f3);
printf("f3 %f ",f3);
if(fx==f3){
printf("est egal");
}
else{
printf("n'est pas egal");
}
printf(" a son floor %fn",fx);

fx=floorf(f4);
printf("f4 %f ",f4);
if(fx==f4){
printf("est egal");
}
else{
printf("n'est pas egal");
}
printf(" a son floor %fn",fx);

}


C'est tres "C like" (je suis plus a l'aise en C...)
mais ca compile sans warnings ni probleme avec extension .cc sous gcc
Y'a peut-etre mieux ???





tempo
Zen

Messages : 2 177
Inscrit le 14/09/02
Ville : Grenoble (SMH)
Non connecté
  Posté le 28 septembre 2002 - 13 h 03 m 43 s
Y'a aussi le cas ou le resultat est dans une classe de type inconnu.
Moi y'en a plus trop savoir en C++ (Java addict) mais
doit y'avoir moyen d'utiliser une methode "getClass" heritee de CObject pour determiner la classe de l'objet...




Hiryuu
Le feu brule dans ses yeux! L'air souffle dans sa tete...

Messages : 8 889
Inscrit le 09/06/02
Ville : Echirolles
Non connecté
  Posté le 14 octobre 2002 - 18 h 46 m 06 s
Merci pour toutes ces reponses mais pour l'instant j'ai pas eut trop le temps de tester ma proc...

Et desole pour le manque de clarete de ma question mais il n'etait en aucun cas question d'une conversion d'un char en float... Merci encore



Macho Macho man, I've got to be a macho man... :lol:

Sad but true!

Je la ferme tout pendant que vous appuyez sur alt+F4 !


TorTue
"Je sais que je ne sais rien."

Messages : 2 137
Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
  Posté le 14 octobre 2002 - 20 h 12 m 38 s

Le 14/10/2002 à 18h46 , Hiryuu a écrit:
Merci pour toutes ces reponses mais pour l'instant j'ai pas eut trop le temps de tester ma proc...

Et desole pour le manque de clarete de ma question mais il n'etait en aucun cas question d'une conversion d'un char en float... Merci encore


C'était quoi alors ?



http://www.les5elements.com/

judi
Eternel romantique

Messages : 270
Inscrit le 14/01/02
Ville : Grenoble
Non connecté
  Posté le 16 octobre 2002 - 00 h 03 m 41 s
Ta question m'étonne... Je ne vois pas pourquoi tu veux tester le type d'une valeur, du moment que tu te documentes un minimum sur les fonctions que tu utilises, et que tu sais ce que renvoient les fonctions que tu crées... :-?

Bref, perso, si le pb m'était arrivé, j'aurais plutot utilisé un sizeof() pour tester la longeur mémoire de ma variable, puis en tirer les conclusions qui s'imposent....



<center><b>Nullae sunt inimicitiae nisi amoris acerbae.</b></center>

Hiryuu
Le feu brule dans ses yeux! L'air souffle dans sa tete...

Messages : 8 889
Inscrit le 09/06/02
Ville : Echirolles
Non connecté
  Posté le 17 octobre 2002 - 09 h 02 m 01 s
En fait je voulais tester ce que rentrait un user pour pas qu'il m'ecrive un caractere alors que je lui demande un entier...
Et sizeof ne fait pas l'affaire (pour diverses raisons :wink: ) j'ai donc du chercher une bibliotheque contenant une sorte de typeof comme le disait ced38...



Macho Macho man, I've got to be a macho man... :lol:

Sad but true!

Je la ferme tout pendant que vous appuyez sur alt+F4 !


TorTue
"Je sais que je ne sais rien."

Messages : 2 137
Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
  Posté le 17 octobre 2002 - 19 h 48 m 30 s
Si tu fait une Dialog Based avec Microsoft Visual C++. et que tu crée une CEdit avec une variable en int ou float. Il fait tout seul le test et la détection des caractères invalides.



http://www.les5elements.com/

judi
Eternel romantique

Messages : 270
Inscrit le 14/01/02
Ville : Grenoble
Non connecté
  Posté le 18 octobre 2002 - 18 h 07 m 41 s

Le 17/10/2002 à 09h02 , Hiryuu a écrit:
En fait je voulais tester ce que rentrait un user pour pas qu'il m'ecrive un caractere alors que je lui demande un entier...
Et sizeof ne fait pas l'affaire (pour diverses raisons :wink: ) j'ai donc du chercher une bibliotheque contenant une sorte de typeof comme le disait ced38...


t'utilises koi? scanf() ou getch()(si c'est de la ligne de commande)?
Si c'est du visual et que t'es dans un edit, sois tu selectionnes l'option "number", soit tu implémante l'opt WM_KEYDOWN dans ta boucle de message pour gérer rour ça....

(arf je sais po si g été kler :D )



<center><b>Nullae sunt inimicitiae nisi amoris acerbae.</b></center>

alitokmen
Think ®

Messages : 3 687
Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
  Posté le 18 octobre 2002 - 21 h 40 m 48 s
Je suis sûr que sous C ça n'existe pas et sûr que sous Java ça existe... Après, pour C++, ça doit mais je ne sais pas la fonction exacte. Vas voir sur MSDN.



S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com


Hiryuu
Le feu brule dans ses yeux! L'air souffle dans sa tete...

Messages : 8 889
Inscrit le 09/06/02
Ville : Echirolles
Non connecté
  Posté le 20 octobre 2002 - 16 h 25 m 54 s

Le 17/10/2002 à 19h48 , TorTue a écrit:
Si tu fait une Dialog Based avec Microsoft Visual C++. et que tu crée une CEdit avec une variable en int ou float. Il fait tout seul le test et la détection des caractères invalides.



J'ai oublié de préciser que j'etais pas sur PC mais sur Unix (sun pour etre plus precis) donc pas de visual c++...

Judi => J'utilise "cin>>" je sais pas a qu'elle fonction ca correspond en c...
je connais un peu visual c++ et pour moi tu etais assez claire :wink:

alitokmen=> j'ai trouvé pour c++ mais j'ai pas mis le site en favoris donc j'ai plus l'adresse... désolé :(



Macho Macho man, I've got to be a macho man... :lol:

Sad but true!

Je la ferme tout pendant que vous appuyez sur alt+F4 !


rodolphe


Messages : 56
Inscrit le 08/03/02
Ville : Lyon
Non connecté
  Posté le 26 octobre 2002 - 10 h 04 m 50 s

Le 26/09/2002 à 09h51 , Hiryuu a écrit:
Quel test permet de savoir si le nombre retire est un float???

à ma connaissance la grand dif entre java et c++ c'est que java fait de la reconnaissance de type , mais c++ n'en ferat jamais !
impossible de savoir avec un f () de la stdlib
cependant , sachant que tu ne peux obtenir un float d'une division d'entier si tu divise ce que tu espére être un float par un autre float et que tu met le resultat dans un float , et qu'il y a quelquechose dans ce float c'est que c'était un float , cependant pour ne pas que ça casse il te faut faire un try { } à mon souvenir c++ peut faire de la gestion d'exception mais il n'y a pas de formatnumberexception en c++




Page genérée en 0.5066 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL |Actualité ADSL | e-commerce | Commande Au Volant
Creative Commons
Message Boards and Forums Directory