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 d'une variable entrée


Sujet :

C++

  1. #1
    Membre habitué
    Avatar de AkiroVIII
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2012
    Messages : 24
    Points : 130
    Points
    130
    Par défaut Tester le type d'une variable entrée
    Bonjour la communauté,

    J'espère que je n'ai pas mal cherché...

    C'est vraiment quelque chose de très simple que je voudrais faire.

    J'ai un code de base d'addition :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    #include <iostream>
    #include <string>
     
    using namespace std;
     
     
    int main()
     
    {
    	int nombreUn(0), nombreDeux(0), nombreFinal(0);
     
    	cout << "Veuillez entrer le premier nombre : " << endl;
    	cin >> nombreUn;
     
    	cout << "Veuillez entrer le second nombre : " << endl;
    	cin >> nombreDeux;
     
    	nombreFinal = nombreUn + nombreDeux;
     
    	cout << "Le resultat de l'operation est : " << nombreFinal << endl;
     
     
    	system("PAUSE");
     
    	return 0;
     
    }
    Ma question est : Est-il possible de tester les variables "nombreUn" et "nombreDeux" qui sont entré par l'utilisateur pour qu'en cas d'erreur (entré d'une lettre, d'un symbole), je puisse afficher une erreur et redemander d'entrer un nombre.

    J'imagine que je dois utiliser une boucle, mais je ne sais pas comment faire la condition...

    Je vous remercie pour votre futur aide et je m'excuse d'avance si cette question a déjà été traitée.

    Cordialement,
    Akiro.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre habitué
    Avatar de AkiroVIII
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2012
    Messages : 24
    Points : 130
    Points
    130
    Par défaut
    Re !

    J'ai trouvé la solution.

    Voici mon code actualisé pour d'éventuelles questions du même type.

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    #include <iostream>
    #include <string>
     
    using namespace std;
     
     
    int main()
     
    {
    	// On déclare les variables dont on a besoin.
    	int nombreUn(0), nombreDeux(0), nombreFinal(0);	
     
    	// On demande à l'utilisateur d'entrer un nombre et l'on teste si le flux de sortie est un nombre.
    	// Tant que le flux de sortie n'est pas un nombre (!)
    	while (cout << "Veuillez entrer le premier nombre : \n" && !(cin >> nombreUn))
    	{
    		// Supprime les bits d'erreur.
    		cin.clear();
    		// Supprime la ligne d'erreur dans le buffer entré par l'utilisateur.
    		cin.ignore(numeric_limits<streamsize>::max(), '\n');
     
    	}
     
    	while (cout << "Veuillez entrer le second nombre : " && !(cin >> nombreDeux))
    	{
    		// Même principe que la première boucle.
    		cin.clear();
    		// Même principe que la première boucle.
    		cin.ignore(numeric_limits<streamsize>::max(), '\n');
     
    	}
     
    	// Addition basique des deux variables.
    	nombreFinal = nombreUn + nombreDeux;
     
    	// Affichage du réslutat.
    	cout << "Le resultat de l'operation est : " << nombreFinal << endl;
     
    	// Évite que la console parte tout de suite.
    	system("PAUSE");
     
    	return 0;
     
    }
    Merci quand même pour votre aide et à bientôt.

    Akiro.

    [EDIT] : Merci @ Bousk ! J'avais trouvé avant de voir que tu avais répondu... Je ferais attention la prochaine fois de bien chercher correctement, j'ai sans doute crée le sujet trop rapidement...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tester le type d'une variable de type "Variant"
    Par nono27200 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 30/08/2007, 21h26
  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