IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

tester le type de variable


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2008
    Messages
    354
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 354
    Par d�faut tester le type de variable
    Bonjour,
    Je veux faire un test sur le type de mon variable s(si l'utilisateur a ajout� un float ou une chaine de caract�re) mais j'ai pas trouv� une solution.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    #include <iostream>
    #include <stdlib.h>
    #include<string>
    #include<sstream>
     
    void main()
    {
     
    	float f;
    	std::cout<< "donner un réel";
    	std::cin>>f;
     
    	system("pause");
     
    }
    je veux savoir si l'utilisateur a saisi un float ou bien une chaine de caract�re.
    Merci pour votre aide

  2. #2
    Invit�(e)
    Invit�(e)
    Par d�faut
    Bonjour,

    Tu peux interroger la m�thode fail pour savoir si la conversion a r�ussi.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #include <iostream>
     
    int main()
    {
        float f;
     
        std::cout << "donner un reel" << std::endl;
        std::cin >> f;
        if (std::cin.fail()) {
            std::cout << "pas un nombre..." << std::endl;
        } else {
            std::cout << f << std::endl;
        }
     
        return 0;
     
    }
    http://www.cplusplus.com/reference/i...perator%3E%3E/

  3. #3
    Membre tr�s actif Avatar de Firwen
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    472
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2009
    Messages : 472
    Par d�faut
    Pour une gestion fine, il vaut mieux parfois repasser par des bons vieux fscanf ou fprintf quitte � sortir du modele de flux du C++ standard.

    http://www.cplusplus.com/reference/c...cstdio/fscanf/


    En esp�rant t'avoir aid�

  4. #4
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par d�faut
    ou ecrire un mini-validateur avec boost::karma

  5. #5
    Membre �m�rite
    Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Par d�faut
    Citation Envoy� par Firwen Voir le message
    Pour une gestion fine, il vaut mieux parfois repasser par des bons vieux fscanf ou fprintf quitte � sortir du modele de flux du C++ standard.
    C'est courant mais un peu "dangerous". Je pr�f�re la m�thode de la FAQ magique.

    Comment d�terminer si une cha�ne contient une valeur d'un certain type ?
    http://cpp.developpez.com/faq/cpp/?p...TRINGS_is_type
    Le
    ( iss >> tmp )
    est �quivalent ( de m�moire ) � iss.fail(). L'istringstream est une istream particuli�re.

    Les op�rations sur les flux de la STL ne sont pas tr�s "user friendly" � la premi�re approche, mais �a vaut le coup d'y entrer et de prendre quelques notes de dev

  6. #6
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    Citation Envoy� par Firwen Voir le message
    Pour une gestion fine, il vaut mieux parfois repasser par des bons vieux fscanf ou fprintf quitte � sortir du modele de flux du C++ standard.


    Citation Envoy� par bretus Voir le message
    Je pr�f�re la m�thode de la FAQ magique.


    @Joel : un peu rude de commencer par un validateur pour lire un simple float...

  7. #7
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par d�faut
    Citation Envoy� par 3DArchi Voir le message
    @Joel : un peu rude de commencer par un validateur pour lire un simple float...
    Ca se resume juste � :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    std::string p;
    float f;
     
    bool result = qi::parse(p.begin(), p.end(), qi::float_, f);

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [XL-2007] Tester le type de variable de colonnes
    Par Craquos dans le forum Macros et VBA Excel
    R�ponses: 5
    Dernier message: 27/11/2014, 17h37
  2. Tester le type d'une variable
    Par jmbonnaz dans le forum MATLAB
    R�ponses: 2
    Dernier message: 29/06/2007, 17h37
  3. tester le type d'une variable
    Par MayOL69bg dans le forum Langage
    R�ponses: 5
    Dernier message: 16/04/2007, 14h31
  4. Tester le type d'une variable
    Par D�b�a dans le forum G�n�ral Python
    R�ponses: 2
    Dernier message: 03/08/2006, 16h45
  5. Tester le type d'une variable
    Par mzt.insat dans le forum Linux
    R�ponses: 5
    Dernier message: 30/05/2006, 18h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo