['float' ou '!float' lors d'une saisie au KB]

microninja Messages postés 3 Statut Membre -  
microninja Messages postés 3 Statut Membre -
Salut tout le monde ! ;)
J'aimerais savoir comment on fait pour qu'un prog écrit en 'C' puisse distinguer un float (dt le prog a besoin pour s'exécuter) et d'autre chose qu'un float , et ce , lors de la saisie d'un caractère au clavier .
Pour être plus concret : Supposons qu'un programme (en 'C') cherchant les racines d'un polynôme demande de saisir les coeficients de celui-ci , qui sont des 'float' , et ce au biais de la comde : 'cin' par exple ; Imaginer ce qui se passe lorsqu'un utilisateur tape des 'char' , j'ai fais ça et le prog s'est carèment planté (boucle sans sortie ...) ou qlqs fois il génére des erreurs 'mathématiques' (résultats faux et érronés) !!
cordialement , /* microzen */

2 réponses

  1. blurk Messages postés 493 Date d'inscription   Statut Membre 160
     
    salut

    quand je fais ça, je met la saisie utilisateur dans une chaine
    (char *machaine)
    je contrôle la chaine afin de vérifier qu'il n'y a que des chiffres et un "." ou un "," maximum, car rien ne peut empêcher l'utilisateur de taper ce qu'il veut.
    quand c'est correct, je fais
    sprintf(machaine, "%f", monfloat);

    (#include <stdio.h>)

    cordialement
    0
    1. microninja Messages postés 3 Statut Membre
       
      Grand MERCI Blurk ! C'est très sympa !!
      Je vais essayer comme tu l'a indiqué ;)
      à bientôt , #microninja#
      0
  2. blurk Messages postés 493 Date d'inscription   Statut Membre 160
     
    oups! petite rectification!

    sscanf (machaine,"%f", &monfloat);


    cordialement
    0
    1. microninja Messages postés 3 Statut Membre
       
      Merci Bien !!
      à bientôt , #microninja#
      0